0
我在tableview中有一個NSFetchedResultsController,並試圖從另一個控制器調用它,但出現錯誤。IOS/XCODE:在其他類中調用NSFetchedResultsController方法
我進口tableVC到otherVC,但我得到一個「的選擇沒有已知的類方法‘fetchedResultsController’。任何人能發現什麼,我做錯了什麼?謝謝。
code in tableVC.h
-(NSFetchedResultsController *)fetchedResultsController;
tableVC.m
-(NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController==nil){
NSFetchRequest *fetchRequest= [[NSFetchRequest alloc] init];
...
return _fetchedResultsController;
}
otherVC.m
#import "tableVC.h"
[tableVC fetchedResultsController];
感謝您的任何建議。
好的。做tableVC * tableVC = nil; [tableVC fetchedResultsController];似乎得到了解決方法,所以我打上了正確的問題。但是,有沒有辦法將FRC設置爲零,以便我可以重新加載它。它延遲加載,但因爲它已經存在,所以不會重新獲取。 – user1904273
通常,如果您的NSFetchedResultsController未被跟蹤(沒有分配任何委託),並且您沒有更改謂詞,並且您尚未設置緩存,那麼您只需調用[fetchedResultsController performFetch],然後再調用在你的表視圖[self.tableView reloadData]上重載數據。 如果你正在使用緩存,然後看看[NSFetchedResultsController deleteCacheWithName:cacheName]。 我還建議查看設置委託並使用跟蹤,以便表視圖始終保持最新狀態,因爲對模型進行了更改。 –
表VC已註冊爲委託,並在添加新項目時得到更新,但由於某些原因,儘管保存代碼完全相同,但在編輯項目時它不會更新。另外,有關問題的細節VC沒有表格,只是標籤和圖片。我無法讓這些刷新。理解MVC的價值,但卻發現IOS內如此微不足道的事情非常複雜。 – user1904273