我在的時候狄更斯讓這整個核心數據,故事情節,三人的UISearchBar它應該一起工作。在最終成功構建了Core Data的表格之後,使用搜索文本縮小了這些項目,並修改了prepareForSegue,但仍然存在一個打嗝...麻煩路過indexPath.row與prepareForSegue用的UISearchBar
當我單擊表中的任何項目以轉到詳細視圖時,在未經過濾的表格中一切正常。 PrepareForSegue被調用,細節看起來很完美。
當我搜索,我的表被過濾(我要去過濾陣列選項現在不是第二NSFetchedResultsController,但不缺乏嘗試!)。
當我在過濾列表中單擊某個項目,prepareForSegue被調用,詳細信息視圖推,但是,它總是從列表中的第一個項目拉動細節!
例如,如果我搜索「c」和名單縮小到「查理」和「曲奇」,當我選擇「查理」我看到「查理」的詳細視圖。當我選擇「餅乾」時,不幸的是,我也看到「查理」的詳細視圖
我假設prepareForSegue代碼是問題(也許不正確?)。這裏是代碼:
SampleTVC *sampleDetailTVC = segue.destinationViewController;
sampleDetailTVC.delegate = self;
// Store selected Role in selectedRole property
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
// self.selectedRole = [self.fetchedResultsController objectAtIndexPath:indexPath];
if (savedSearchTerm){
self.selectedRole = [self.searchResults objectAtIndex:indexPath.row];
} else {
self.selectedRole = [self.fetchedResultsController objectAtIndexPath:indexPath];
}
NSLog(@"Passing selected role (%@) to SampleTVC", self.selectedRole.name);
sampleDetailTVC.role = self.selectedRole;
任何幫助,將不勝感激!
當您選擇 「曲奇」,你能登錄的在你獲得角色的時候'self.searchResults'和'indexPath.row'的值是多少? –
當我加入:if(savedSearchTerm){self.selectedRole = {self.searchResults objectAtIndex:indexPath.row]; NSLog(@「什麼是searchresults:%@什麼是indexpath:%@」,self.searchResults,indexPath.row); --------------------我得到以下內容:什麼是searchresults:charlie,cookie [編輯以縮短]什麼是indexpath:(null)-----我'認爲index.path(null)可能是問題? –
和非搜索表,如果我登錄indexPath我得到:什麼是indexpath: 2名的索引[0,3] –