我有這樣的事情:IOS 8 NSFetchedResultsController多視圖
A. UICollectionView1與FRC1和FRC_Search_1爲UICollectionView_Search_Results_1
B. UICollectionView1與FRC2和FRC_Search_2爲UICollectionView_Search_Results_2
C. UICollectionView1與FRC3和FRC_Search_3爲UICollectionView_Search_Results_3
D. UICollectionView1與FRC4和FRC_Search_4的UICollectionView_Search_Results_4
。
。
。
想法是使用NSFetchedResultsControllerDelegate更新集合視圖。但是如果我在A和B都實現它,在一次更新之後,這兩個實現都會被調用。我不明白爲什麼會發生這種情況。這是因爲兩個FRC是從同一個實體中提取還是因爲它們具有相同的上下文或其他內容?
解決此問題的最佳方法是什麼?
編輯:
@Tuslareb
我有2個UICollectionViewControllers配有獨立的類。每個都有自己的FRC,collectionView和Delegate實現。如果FRC看起來相同(相同的實體,謂詞...),那麼當我更新一個collectionViewController中的一個collectionView時,這兩個委託都會被激活。
如果這兩個collectionViews不同,就會出現問題。然後indexPaths是不同的,更新產生錯誤並停止應用程序。
這可能是它的工作方式,核心數據是觀察FRC的類型而不是對象本身。但我想確定一下。
我是否正確理解你有一個集合視圖,其中包含一個視圖控制器,其中實現了NSFetchedresultscontroller委託方法?那麼,所有FRC都使用同一個代表? – Tuslareb 2015-04-03 09:35:07