- [UIViewControllerWrapperView框架]:发送到解除分配的实例的消息在IOS7中获取崩溃

时间:2013-08-06 07:28:12

标签: ios ipad uiviewcontroller crash ios7

我的项目是针对IOS5和6.在IOS7发布之后,我们也在升级IOS7的项目。但是我在IOS7中面临一个问题。

当我第一次在IOS7模拟器中安装我的应用程序时,它会因以下消息而崩溃。

*** -[UIViewControllerWrapperView frame]: message sent to deallocate

但是在IOS7之下,它运行良好。 感谢

2 个答案:

答案 0 :(得分:1)

OS 7确实改变了一些有关tableviews及其委托的规则。当然,这并不容易找到。

但基本上,在iOS的早期版本中,您可以选择淘汰tableView委托和数据源。不这样做并没有发送任何错误消息。

从iOS 7开始,你必须在你的dealloc中取消它们,否则会导致崩溃。

- (void)dealloc
{
fetchedResultsController.delegate = nil;
self.searchDisplayController.delegate = nil;
self.searchDisplayController.searchResultsDelegate = nil;
self.searchDisplayController.searchResultsDataSource = nil;
self.tableView.delegate = nil;
self.tableView.dataSource = nil;    
}

如果这解决了您的问题,请告诉我。

答案 1 :(得分:0)

苹果改变了阶级的层次。 因此,iOS6和iOS7中的UiSearchbar子视图是不同的。 iOS7 UiTextField下面直接是UiSearchBar的子视图,但在iOS7中,UiSearchBar的子视图是UIView,然后UITextField是UIView的子视图。

因此,相同的代码在iOS7中无法正常运行并崩溃。