【发布时间】:2012-04-22 14:39:32
【问题描述】:
我的应用程序中有几个NSFetchedResultsControllers,在每个视图控制器中,我实现了各自的委托方法。然而,与其将这些委托方法复制到每个实现NSFetchedResultsController 的类中,我想我只是创建一个实现这些委托方法的类,并将所有获取的结果控制器的委托设置为指向该类。这是我尝试过的方法,但不起作用:
由于委托方法需要知道他们正在对哪个表视图进行更改,我想我只需为每个获取的结果控制器创建一个单独的委托类,并为该类发送一个指向表视图的指针:
FetchedResultsDelegate *delegate = [[FetchedResultsDelegate alloc] initWithTableView:parentTableView];
self.fetchedResultsController.delegate=delegate;
[delegate release];
但是,这会导致BAD_ACCESS 崩溃,因此这意味着我可能不应该做我上面所做的事情。
如何创建一个单一的委托类来处理我的所有NSFetchedResultsControllers 的所有委托请求?
编辑:我可以通过@property (nonatomic, retain) FetchedResultsDelegate *delegate; 解决问题,可以吗?有些人说的是分配而不是保留?
【问题讨论】:
-
你用的是什么iOS?你使用 ARC 吗?
-
两个代表都持有“assign”属性吗?
-
我不明白你的意思?
-
当您为代表定义@property 时,您是保留它还是分配它?
标签: iphone objective-c ios core-data nsfetchedresultscontroller