Tôi vừa mới bắt đầu lập trình cho iPhone và tôi đang tạo một ứng dụng kết nối với cơ sở dữ liệu và nhận một bộ tên hàng và hiển thị chúng. Khi được chọn, màu nền của hàng thay đổi tức là bạn có thể thực hiện nhiều lựa chọn và tất cả chúng sẽ có màu khác nhau. Vì vậy, tôi nhận được XML trở lại từ máy chủ không có vấn đề và tôi đã tạo ra một UITableView
để hiển thị các tế bào in Tuy nhiên, tôi không có ý tưởng làm thế nào để thêm các tế bào vào bảng. Tôi đã xem insertRowsAtIndexPaths
nhưng tôi không biết cách sử dụng? Theo tôi hiểu, insertRowsAtIndexPaths
có hai tham số:Thêm ô theo lập trình vào UITableView
NSArray chứa hàng nào được cho là ô và trong phần nào. Vấn đề với điều này là ứng dụng của tôi sẽ có số hàng động. Làm thế nào tôi sẽ đi về việc tạo ra NSArray nếu tôi không biết có bao nhiêu hàng tôi sẽ có? Tôi có thể sử dụng NSMutableArray không?
Tham số thứ hai cần có là hoạt ảnh - điều này khá đơn giản.
Một vấn đề khác mà tôi đang gặp phải là tôi thực sự tạo các ô ở đâu? Làm thế nào để bạn vượt qua các tế bào để tableview?
Tôi đã thử đọc tài liệu nhưng dường như không rõ ràng lắm! Dưới đây là đoạn code tôi có ít thời điểm bên trong phương pháp loadview của bộ điều khiển xem:
//Before this I get the XML from the server so I am ready to populate
//cells and add them to the table view
NSArray *cells = [NSArray arrayWithObjects:
[NSIndexPath indexPathForRow:0 inSection:0],
[NSIndexPath indexPathForRow:1 inSection:0],
[NSIndexPath indexPathForRow:2 inSection:0],
[NSIndexPath indexPathForRow:3 inSection:0],
[NSIndexPath indexPathForRow:4 inSection:0],
[NSIndexPath indexPathForRow:5 inSection:0],
[NSIndexPath indexPathForRow:6 inSection:0],
[NSIndexPath indexPathForRow:7 inSection:0],
[NSIndexPath indexPathForRow:8 inSection:0],
[NSIndexPath indexPathForRow:9 inSection:0],
[NSIndexPath indexPathForRow:10 inSection:0],
[NSIndexPath indexPathForRow:11 inSection:0],
[NSIndexPath indexPathForRow:12 inSection:0],
nil];
[eventTypesTable beginUpdates];
[eventTypesTable insertRowsAtIndexPaths:cells withRowAnimation:UITableViewRowAnimationNone];
[eventTypesTable endUpdates];
Cảm ơn, tôi thấy tôi đã hoàn toàn nhầm lẫn về cách mà làm việc. Tôi đã quản lý để đầu ra các tế bào một cách chính xác bây giờ nhưng tôi nhận được một vấn đề. Tôi đang lấy 12 hàng từ cơ sở dữ liệu tuy nhiên, màn hình chỉ phù hợp 7. Khi màn hình đầy và trong trình mô phỏng nếu tôi cố gắng cuộn xuống, tôi gặp lỗi trong 'NSString * sEventType = [[eventTypes valueForKeyPath: @" name .text "] objectAtIndex: indexPath.row];' bên trong phương thức 'cellForRowAtIndexPath'. Có điều gì tôi đang thiếu? Giống như tôi phải thêm một bộ điều khiển cuộn hay gì đó? Một lần nữa, cảm ơn phản hồi nhanh chóng và hữu ích! – KerrM
Liên kết bị hỏng. Đây là lý do tại sao bạn nên đăng ít nhất một số mã mẫu thay vì dựa vào các liên kết bên ngoài. Liên kết –
bị hỏng nhưng bạn có thể tìm thấy nội dung của url này tại đây: http://web.archive.org/web/20150928131750/http://www.iosdevnotes.com/2011/10/uitableview-tutorial/ – Upsilon42