原因:"尝试加载..同时取消分配......:UISearchController:"

时间:2015-08-05 10:46:06

标签: ios uitableview uisearchbar

我有根故事板,其中有一个按钮,可以推送ViewControllerB。

ViewControllerB有一个排序控制器UISortController

ViewControllerB有一个"返回"由根导航控制器控制的方法。

我收到以下警告:

Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<UISearchController: 0x7ff10258ba60>)

我使用Apple's sample(需要会员资格)来添加新的UISearchController。

有没有人碰到过这个?我该如何解决?

2 个答案:

答案 0 :(得分:1)

我建议改用Storyboard Unwind Segues:https://developer.apple.com/library/ios/technotes/tn2298/_index.html

这篇富有洞察力的帖子还有很多非常有用的实施细节:

What are Unwind segues for and how do you use them?

答案 1 :(得分:1)

我遇到了相同的控制台错误消息,但请注意以下有关我的Xcode项目:

  • segues to navigation controllers必须保留,因为它们与分割视图控制器一起使用(到详细视图控制器);
  • (并根据上面的@AndrewEbling评论)代码不需要展开segue,因为导航控制器自动管理(一部分)任务;
  • 此代码也不需要展开segue,因为块用于在父视图控制器中设置属性。

感谢Leehro和Clafou在this SO answer中的评论,使用viewDidLoad中的以下代码行来抑制控制台错误消息(请注意,无需在dealloc中插入此代码):

[self.searchController loadViewIfNeeded];(请注意iOS 9提供)。