2015-09-28 80 views
1

我升级到XCode 7和Swift 2. 当我尝试实例化并推送特定的ViewController时,我的CPU使用率达到了100%。obj_msg发送100%的CPU使用率

let dummyVC = self.storyboard!.instantiateViewControllerWithIdentifier("dummy") as! DummyViewController 
self.navigationController!.pushViewController(dummyVC, animated: true) 

我能够推任何其他视图控制器,但不是这一个。 此外,如果我不推送ViewController,我的应用程序不会冻结(CPU不会达到100%),并且此dummyVC会导致我试图推送它的任何地方冻结。

Here's Instruments screenshot。 screenshot

看来obj_msgSend正在占用CPU的最大使用量,但我读了here Objective-C并不是真正的问题。我该如何处理?它只发生在我更新到Swift 2之后。

+0

从调用堆栈看来,当系统尝试设置UITextView时发生了一些奇怪的现象 - 查看该场景,看看您正尝试加载到该文本视图中的内容是什么 – Paulw11

+0

令人惊讶的是,在场景或控制器中没有'UITextView',只有'UILabel's – sasquatch

+0

你在这个VC中没有对背景队列做任何事情? – Paulw11

回答

1

所以事实证明Storyboard中有一个UITextView,并且在设置UITextView时由于约束中的死锁而发生此问题。 UITextView的高度取决于依赖于高度本身的东西,因此它永远不能确定。