我有一個UITableView其中每個部分包含一個單行,其中每個包含一個UICollectionView。 UITableView是數據源並委派給Core Data數據庫。更新數據庫調用NSFetchedResultsController的控制器:didChangeObject:哪個隊列塊方法來更新相關的收集像這樣:解析NSBlockOperation的executionBlocks
switch (type) {
case NSFetchedResultsChangeInsert: {
[self.blockOperation addExecutionBlock:^{
[collectionView insertSections:[NSIndexSet indexSetWithIndex:newIndexPath.section] ];
}];
break;
}...
話,我想在這裏執行塊作爲批處理:
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
{
[collectionView performBatchUpdates:^{
[self.blockOperation start];
} completion:^(BOOL finished) {
// Do whatever
}];
}
這正在使用Ash Furrow和Blake Watters的techniques將核心數據庫連接到UICollectionView。
我的問題是,我如何獲得訪問正確的-controllerdidChangeContent:
collectionView對象? self.blockOperation中的每個塊都有相關的collectionView,但我不知道如何從NSBlockOperation的executionBlocks屬性解析出它,或者即使這是最好的解決方法。 Ash和Blake的例子只有一個UICollectionView,而我有很多。