发送到解除分配实例的searchDisplayController消息(仅在iOS7中)
这是我在发送到解除分配实例的searchDisplayController消息(仅在iOS7中),ios7,exc-bad-access,searchdisplaycontroller,Ios7,Exc Bad Access,Searchdisplaycontroller,这是我在AppDelegate iMapView = [[iMapViewController alloc] init]; if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { CGSize result = [[UIScreen mainScreen] bounds].size; if(result.height == 568) { iMa
AppDelegate
iMapView = [[iMapViewController alloc] init];
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 568)
{
iMapView.view.frame = CGRectMake(0, 0, 568, 320);
}
}
[viewController.view addSubview:iMapView.view]; // crashing here
我打开NSZombie并发现问题:
[iMapViewController searchDisplayController]: message sent to deallocated instance 0xd81d740
但我从未在任何地方使用过searchDisplayController
或其委托
@interface iMapViewController : UIViewController<UIAlertViewDelegate>
@interface-iMapViewController:UIViewController
它只发生在iOS 7中,没有ARC
你能给我一些建议吗
谢谢完成此操作后,不要创建视图控制器的全局实例
iMapViewController *newObject = [[iMapViewController alloc]initWithNibName:@"iMapViewController" bundle:nil];
您可能正在释放iMapView并再次访问它。检查xib,您是如何创建iMapViewController的?就像从其他类复制粘贴或从文件->新文件创建新视图一样,我从代码创建我的视图,我的xib为空您的xib名称是什么,请将您的xib名称放入代码中..我使用“iMapView=[[iMapViewController alloc]initWithNibName:@“iMapViewController”bundle:nil];“但没有任何更改请勿执行此iMapViewController*新对象=[[iMapViewController alloc]initWithNibName:@“iMapViewController”捆绑包:nil];