我的项目出了点问题。调试应用程序和应用程序崩溃时,它不会打印断言消息。通常它应该显示如下内容:
2017-02-05 20:13:54.687 MyPlayground[29372:221950] *** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.6.21/UITableView.m:1610
2017-02-05 20:13:54.690 MyPlayground[29372:221950] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (10) must be equal to the number of rows contained in that section before the update (10), plus or minus the number of rows inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).'
但我得到的只是第一条消息。我只知道断言失败,我没有解释为什么。由于不知道崩溃的原因,这使得调试比应有的困难得多。
2017-02-05 20:07:00.958 myProject[28876:215448] *** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.6.21/UITableView.m:1315
我环顾四周,有人建议这可能是因为优化已打开,但事实并非如此。我的项目和目标都将调试优化设置为无,我确定我正在使用调试配置运行我的项目。我尽我所能,到目前为止没有任何帮助,我想不出这可能是什么。
我使用的是 Xcode 8,项目是混合 Swift 3.0 + Objective-C。我曾经有 cocoapods,但我改用 Carthage(我希望这可能会有所帮助,但事实并非如此)。