此严重错误仅在模拟器中每运行 10 次左右出现一次,因此很难调试。当我的 tableView 从应用程序启动加载内容时,我遇到了某种 malloc 错误。我启用了 nszombies,当错误最终再次出现时,我得到了这个输出:
objc[71060]: Class _NSZombie__UITableViewSeparatorView is implemented in both ?? and ??. One of the two will be used. Which one is undefined.
2011-09-14 11:01:46.080 My_App[71060:7307] *** -[_UITableViewSeparatorView release]: message sent to deallocated instance 0x4e398e0
我第一次注意到这个错误是在我将这段代码添加到 tableView(应用启动时用户看到的第一个屏幕)之后发生的
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
return 90;
else
return 50;
}
这段代码的重点是(显然)分别为 iPad 和 iPhone 目标中的表格定义不同的行高。
问题出在这段代码中吗?
最佳答案
嗯,这是最糟糕的错误(有时只会重复)。好吧,我能给你的最好建议就是经常使用 NSLog。这听起来像是一条没有帮助的建议,但过度使用 NSLog 确实有助于我调试此类错误。
关于iphone - 意外的 UITableViewSeparatorView 版本导致应用程序启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7418791/