在 Xcode 中,启动一个新的主从项目。称之为“测试”。
向其中添加一个新的“文件”。UIViewController
用 XIB把它变成一个文件。称它为 TestViewController。
在方法中修改你的 MasterViewController 代码,insertNewObject:
这样说:
-(void)insertNewObject:(id)sender
{
TestViewController *initViewController = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
[self.navigationController pushViewController:initViewController animated:YES];
[initViewController release];
}
现在在 TestViewController.m 中添加一个dealloc
方法并简单地调用[super dealloc];
在此处设置断点并运行应用程序。一切都应该运行正常。
但是,如果启用 Zombie 对象,您可能会*** -[TestViewController class]: message sent to deallocated instance 0x7484f20 error
在跨步时得到一个[super dealloc]
。
你也明白吗?我在 iOS6.0 模拟器上,并在尝试调试导致我出现此问题的问题时遇到了它。
想法赞赏。这是一个iOS错误吗?还是模拟器错误?
为“清晰”添加了 TestViewController 代码
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)dealloc
{
// Zombie here???
[super dealloc];
}