12
我有一個NSFetchedResultController
具有不同的部分。 我有一個崩潰當我嘗試使用UISearchDisplayController
搜索:在兩部分中搜索時發生崩潰
*** 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])'
我檢查,我的搜索陣列有確實的兩個條目(預期結果):
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
它返回1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
It returns 2
有趣的是,如果我只有一個部分,它完美的作品。
請幫忙! :)
你能解釋一下這個原因嗎?只是想知道它可能會幫助我解決未來的另一個問題。 – Jeremy1026
這是因爲您在爲單元格詢問self.tableView。但indexPath在搜索時是搜索表的索引路徑。索引路徑不一定對self.table有效,因此該索引路徑無法傳遞給它。因爲CellIdentifier尚未在搜索表中進行註冊,所以需要向cell請求self.table。 –
是的,讓事情發揮作用仍然很愚蠢! :) –