这几天我一直在纠结这个问题,找不到解决办法,所以请教一下。
我有两个 UIViewController:NewPostUIViewController 和 SettingsUIViewController。在第二个中我有一个字段:
id<SettingsUIViewControllerDelegate> delegate
第一个实现协议
SettingsUIViewControllerDelegate
当按下按钮时,在 NewPostUIViewController 中执行以下代码:
SettingsUIViewController *settingsUIViewController = [[SettingsUIViewController alloc] initWithNibName:@"SettingsView" bundle:nil];
settingsUIViewController.title = NSLocalizedString(@"Settings", @"Settings view title");
settingsUIViewController.delegate = self;
[self presentModalViewController:settingsUIViewController animated:YES];
[settingsUIViewController release];
当我想关闭 SettingsUIViewController 时,我调用(SettingsUIViewController 中的代码):
[delegate settingsAreDone:sender];
和 settingsAreDone 看起来如下(NewPost UIViewController 中的代码):
[self dismissModalViewControllerAnimated:YES];
这一切的结论是:
[CALayer release]: message sent to deallocated instance 0x5a76840
我尝试通过在两个视图控制器的释放方法中设置断点来调试代码,但这些方法被频繁调用,因此很难说出导致此问题的原因。
有任何想法吗?