iOS 9 Segue导致应用程序冻结(没有崩溃或错误抛出)

Zac*_*han 12 uiviewcontroller ios segue uistoryboardsegue swift2

我已经在这个应用程序上工作了好几个月,从我记忆中来看,我从来没有遇到过segue的问题.代码在调用方面没有变化,performSegueWithIdentifier但是由于我最近更新到Xcode 7和iOS 9,我无法解决这个问题.

我试过了:

  • 删除按钮并创建带有segue链接的新按钮
  • 使用直接segue从按钮查看,无需使用 performSegueWithIdentifier
  • 连接按钮到新的空白viewController

当我按下按钮,没有初始负载的函数被称为目的地VC(例如:ViewDidLoad,ViewWillAppear,等等).当我将它连接到空白视图时,segue可以正常使用相同的代码.

由于代码永远不会停止或中断,并且只是在仍然在Xcode上运行时似乎"冻结",我似乎无法将其缩小到导致问题的原因.我有一个类似的segue,也可以从同一个ViewController上的另一个按钮调用,它没有任何问题.

对此事的任何想法都非常感谢!

编辑:我已将问题缩小到UITextView导致问题的原因.一旦删除了文本视图,页面就会通过segue加载.我想知道iOS 8和iOS 9之间的变化,UITextView因为我将不得不删除文本视图并完全重新添加新的文本视图.

Zac*_*han 29

所以基本上segue是冻结的,因为UITextView我正在使用它destinationViewController.以下修复了该问题:

  • 删除所有UITextView
  • 添加新的UITextView
    • 你必须保留默认的lorem强制文本,并在编程中更改 viewDidLoad()

这是我的修复,从我在这个问题上所做的研究来看,这似乎是iOS 9和Xcode 7中的一个错误.

干杯!


注意:删除UITextView中的文本(或使其长度超过12个字符)足以解决它,无需删除和重新创建它们.这在Xcode 7.1.1及更高版本中得到修复.

  • 这是我在iOS上遇到的更疯狂的错误之一:(对我来说,我在UITextView的Text属性中拥有自己的占位符.我删除了占位符并重新编译为胜利.没有删除` UITextView` (5认同)
  • 这似乎是一个非常大的错误 - 还有其他方法可以解决吗? (2认同)