我有一个视图,当它启动时,从内存中读取对象数组,并使用对象完成表视图。当我转到另一个视图并将另一个对象写入文件并返回到第一个视图时,对象将从文件加载到数组中,但不会以某种方式重新加载...... [myTableView reloadData]
不会工作,setNeedsDisplay
。
-(void)viewWillAppear:(BOOL)animated
{
contactsToLayNow=[NSKeyedUnarchiver unarchiveObjectWithFile:fPath()];
NSLog(@"NOW IN VIEW WILL APPEAR");
for(Contact *cn in contactsToLayNow)
{
NSLog(@"%@", cn.fName);
}
//[self.view setNeedsDisplay];
[quickDialTableView reloadData]; //MOREOVER EXCEPTION HERE IS THROWN
[super viewWillAppear:YES];
}
答案 0 :(得分:0)
将[super viewWillAppear:animated];
移至viewWillAppear:
方法的第一行。
答案 1 :(得分:0)
你需要保留contactsToLayNow - 我想它会在你的tableViews绘图中的某个时候自动释放:)
contactsToLayNow = [[NSKeyedUnarchiver unarchiveObjectWithFile:fPath()] retain];
PS这不是必需的,但你应该将你的电话调用到这个方法的顶部;)