Ho un NSFetchedResultController
con sezione diversa. ho un crash quando si tenta di ricerca utilizzando UISearchDisplayController
:Blocco durante la ricerca in due sezioni
*** 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])'
ho controllato e il mio allineamento di ricerca ha infatti due voci (il risultato atteso):
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
It restituisce 1
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
E restituisce 2
Divertente, se ho una sola sezione, funziona perfettamente.
Aiuto per favore! :)
Potresti spiegarci il motivo? Mi sto solo chiedendo come posso aiutarmi a risolvere un altro problema in futuro. – Jeremy1026
Questo perché si chiede self.tableView per una cella. Ma indexPath, durante la ricerca, è un percorso di indice nella tabella di ricerca. Il percorso dell'indice non è necessariamente valido per self.table, quindi questo percorso dell'indice non può essere passato ad esso. self.table deve essere richiesto per la cella, in quanto CellIdentifier non è stato registrato con la tabella di ricerca. –
E sì, è ancora una magia stupida far funzionare le cose! :) –