0
枚举我有4个tableviews都用自己的NSFetchedResultsController试图通过NSFetchedResultsControllers
在一个点上,我尝试重置/重载他们都..像这样
fetchedResultsControllerArray = [NSArray arrayWithObjects:__fetchedResultsController1, __fetchedResultsController2, __fetchedResultsController3, __fetchedResultsController4, nil];
for (NSFetchedResultsController __strong *frc in fetchedResultsControllerArray){
frc.delegate = nil;
frc = nil;
[frc performFetch:&error];
}
[tv1 reloadData];
[tv2 reloadData];
[tv3 reloadData];
[tv4 reloadData];
这是行不通的。这些表格不显示最新的数据。
但是,如果我拿出枚举并且只用其中之一进行操作,它会起作用吗?
fetchedResultsControllerArray = [NSArray arrayWithObjects:__fetchedResultsController1, __fetchedResultsController2, __fetchedResultsController3, __fetchedResultsController4, nil];
__fetchedResultsController1.delegate = nil;
__fetchedResultsController1 = nil;
[__fetchedResultsController1 performFetch:&error];
[tv1 reloadData];
[tv2 reloadData];
[tv3 reloadData];
[tv4 reloadData];
任何人都可以解释我在枚举期间可能会做错吗?
谢谢!
如果你在循环内设置frc = nil,你期望什么? – 2012-08-16 15:29:06
我期待frc成为__fetchedResultsController1在第一个循环上的指针.. __fetchedResultsController2在第二个等.. – sayguh 2012-08-16 15:36:57
'frc'不是循环中'__fetchedResultsController1'的指针。在第一个循环中有'frc == __fetchedResultsController1'等。设置'frc = nil'不会将'__fetchedResultsController1'设置为零!如果您之前将'frc'设置为'nil',则循环中的[frc performFetch:&error]没有任何作用。 – 2012-08-16 16:25:33