【发布时间】:2014-12-14 04:34:22
【问题描述】:
我有一个 UITableView 与一个获取的结果控制器相结合。我部署的控制器将更改内容方法,并将 frc 的委托设置为 self。
但在一个函数中,我想将它的委托归零,这样将不会调用将更改内容的委托方法,并在一些操作后再次将委托更改为自身,以确保其他方法正常工作,就像这样:
-(void)function
{
self.frc.delegate = nil;
for (id obj in self.frc.fetchedObjects) {
if ([obj isKindOfClass:[MultiValue class]]) {
MultiValue * multiValue = (MultiValue *)obj;
multiValue.isSelected = [NSNumber numberWithBool:YES];
}
}
self.frc.delegate = self;
}
问题是,委托方法(controllerWillChangeContent)会在函数方法之后调用,所以我将self.frc.delegate设置为self后,还是会调用委托方法。
如何解决这个问题?非常感谢。
【问题讨论】:
-
你能再贴一些代码吗?
-
已经更新。我在for循环中更改了frc,但是委托方法只会在函数方法返回后被调用。更何况,如果我把for循环放到另外一个函数里,在这里调用,这个函数返回后,还是会调用delegate方法。所以我只想知道如何将委托设置为 self 但禁止调用委托方法。谢谢
标签: ios objective-c uitableview delegates nsfetchedresultscontroller