Tôi có một số NSFetchedResultController
với phần khác. Tôi có một vụ tai nạn khi tôi cố gắng tìm kiếm bằng UISearchDisplayController
:Sụp đổ khi tìm kiếm trong hai phần
*** Assertion failure in -[UITableViewRowData rectForRow:inSection:], /SourceCache/UIKit/UIKit-2372/UITableViewRowData.m:1630
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'request for rect at invalid index path (<NSIndexPath 0x1d2c4120> 2 indexes [0, 1])'
tôi đã kiểm tra và mảng tìm kiếm của tôi thực sự có hai mục (kết quả dự kiến):
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
Nó lợi nhuận 1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
Nó trả về 2
Điều thú vị, nếu tôi chỉ có một phần, nó hoạt động hoàn hảo.
Trợ giúp xin vui lòng! :)
Bạn có thể giải thích lý do cho việc này không? Chỉ cần tự hỏi vì tôi có thể giúp tôi giải quyết một vấn đề khác trong tương lai. – Jeremy1026
Điều này là do bạn đang yêu cầu self.tableView cho một ô. Nhưng indexPath, khi tìm kiếm, là một đường dẫn chỉ mục vào bảng tìm kiếm. Đường dẫn chỉ mục không nhất thiết phải hợp lệ cho self.table, vì vậy đường dẫn chỉ mục này không thể được truyền cho nó. self.table cần được yêu cầu cho ô, vì CellIdentifier chưa được đăng ký với bảng tìm kiếm. –
Và có, nó vẫn là ma thuật ngu ngốc để làm cho mọi thứ hoạt động! :) –