Когда я нажимаю эту кнопку - [Поиск], появляется всплывающее окно.
Если я записываю условия поиска и нажимаю кнопку «Поиск», данные заполняются в NSMutableArray.
В этой таблице поиска используется «пользовательская ячейка».
Я не могу объединить «пользовательскую ячейку» с данными в NSMutableArray.
получить ошибки при перезагрузке searchTableView.
Как я могу это сделать? Пожалуйста, помогите мне! ~ Спасибо ~
[ошибка]
2011-10-31 20: 56: 52.915 TheBE [1207: 10403] abcd
2011-10-31 20: 56: 53.158 TheBE [1207: 10403] * Ошибка подтверждения в - [UISearchResultsTableView _createPreparedCellForGlobalRow: withIndexPath:], /SourceCache/UIKit_Sim/UIKit-1912.3/UITableView.m:60
2011-10-31 20: 56: 53.159 TheBE [1207: 10403] Завершение приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «UITableView dataSource должен вернуть ячейку из tableView: cellForRowAtIndexPath: '
** Первый вызов стека вызовов:
(0x12a2052 0x1753d0a 0x124aa78 0xc712db 0x381ee3 0x382589 0x36ddfd 0x37c851 0x327322 0x12a3e72 0x29ba92d 0x29c4827 0x294afa7 0x294cea6 0x294c580 0x12769ce 0x120d670 0x11d94f6 0x11d8db4 0x11d8ccb 0x1fae879 0x1fae93e 0x2e8a9b 0x1d68 0x1cc5 0x1)
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//****** custom cell *********/
SearchContentCell *cell = (SearchContentCell *)[tableView dequeueReusableCellWithIdentifier:@"SearchCell"];
[cell.contentLabel setLineBreakMode:UILineBreakModeWordWrap];
[cell.contentLabel setMinimumFontSize:FONT_SIZE];
[cell.contentLabel setNumberOfLines:0];
[cell.contentLabel setFont:[UIFont systemFontOfSize:FONT_SIZE]];
[cell.contentLabel setTag:1];
.......
cell.verseLabel.text = @"Test2" ;
cell.contentLabel.text = @"test";
.......
return cell;
}
-(void)mockSearch:(NSString*)searchString
{
[_data removeAllObjects];
[request setEntity:entityBible];
//
//create predicate
NSString *wildcardedString = [NSString stringWithFormat:@"*%@*",searchString];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"content like %@", wildcardedString];
[request setPredicate:predicate];
NSError *error;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
if (mutableFetchResults == nil) {
// Handle the error;
NSLog(@"eerror");
}
_data = mutableFetchResults;
[self.searchDisplayController.searchResultsTableView reloadData];
}
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
[self mockSearch:searchBar.text];
}
Я думаю, что часть ошибки:
[self.searchDisplayController.searchResultsTableView reloadData];