Tôi có một UITableView
và trình lập lịch biểu đang chạy trong nền xóa bản ghi từ đối tượng dữ liệu bên dưới. Mỗi khi một đối tượng bị xóa, tôi muốn xem bảng để cập nhật cho phù hợp.Không thể xóa deleteRowsAtIndexPaths để hoạt động
Nhưng tôi tiếp tục nhận được thông báo lỗi gây phiền nhiễu này khi cố xóa hàng khỏi chế độ xem bảng.
* Chấm dứt ứng dụng do ngoại lệ uncaught NSInternalInconsistencyException
, lý do:. "Path chỉ số không hợp lệ để sử dụng với đường dẫn UITableView
Index truyền cho xem bảng phải chứa chính xác hai chỉ số xác định phần và hàng Vui lòng sử dụng các loại trên NSIndexPath
trong. UITableView.h
nếu có thể. "
Mã:
NSIndexPath *indexPath = [NSIndexPath indexPathWithIndex:0];
NSUInteger row = [indexPath row];
NSMutableArray* files = [[NSMutableArray alloc] initWithArray:fileNames];
[files removeObjectAtIndex:[indexPath row]];
[fileNames dealloc];
fileNames = [NSArray arrayWithArray:files];
//[self.fileNames removeObjectAtIndex:row];
[self.tableDraft deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
PS: Tôi cũng đã cố gắng [tableView reloadData];
nhưng điều đó đã không mong muốn tác dụng phụ, tẩy xoá các chỉ số được lựa chọn.
+1 Tôi đồng ý ... nó mất nhiều thời gian để viết bài này trên SO hơn là để đọc các lỗi ... nó đặc biệt cho bạn biết phải làm gì và tại sao nó đang hủy bỏ ... –
Cảm ơn im vẫn đang học – DevNull