在我的一个视图控制器中,单击一个按钮后会调用以下函数,这样我就可以进行一些初始化并弹出当前视图(ResultViewController
)并显示上一个视图({{1} })。
GameViewController
在iPhone / iPod上,我注意到- (IBAction)PlayNextList:(id)sender {
NSInteger index = [[[GameStore defaultStore] allLists] indexOfObjectIdenticalTo:[[GameStore defaultStore] selectedList] ];
if(index == [[[GameStore defaultStore] allLists] count]-1)
{
index = 0;
}
index++;
[[GameStore defaultStore] setSelectedList:[[[GameStore defaultStore] allLists] objectAtIndex:index]];
[[GameStore defaultStore] resetGame];
[[GameStore defaultStore] createResult];
NSLog(@"Press Next List");
NSLog(@"%@",[[[[GameStore defaultStore] allLists] objectAtIndex:index] label]);
[[self navigationController] popViewControllerAnimated:YES];
}
被调用了两次,但它只在iPad上被调用一次。
在试图找出为什么被调用两次之后,我发现第二次调用发生在[[GameStore defaultStore] createResult];
的{{1}}和viewWillAppear
之间。
知道为什么会这样吗?
答案 0 :(得分:2)
确保检查连接检查器是否触发了激活PlayNextList的事件,特别是如果您有适用于iPhone和iPad的不同NIB文件,并确保该事件未连接两次到相同的方法。