按下tableView单元后,我的应用程序因某种原因崩溃了。它不会在第一次崩溃,但在几次导航通过桌面后崩溃。
这是我的控制台:
在做了一些调试之后,如果我删除了这行代码,它就不会崩溃。
[[NSTimeZone localTimeZone] secondsFromGMT] / 30
这是我对DetailViewController的viewDidLoad:
titleLabel.text = [newsArticle objectForKey:@"Series"];
timeLabel.text = [newsArticle objectForKey:@"Duration"];
guestsLabel.text = [newsArticle objectForKey:@"Guests"];
descTextView.text = [newsArticle objectForKey:@"Content"];
“newsArticle”是:NSDictionary变量。
任何想法为什么会发生这种情况?任何建议将不胜感激:)
由于
答案 0 :(得分:2)
正如错误消息所述,您试图基本上使用setText:
而不是字符串来调用NSNull
;即[someTextView setText:[NSNull null]];
。
第7帧来自您的应用,称为 JSON 。因此,假设您正在加载JSON文档。
您的JSON文档具有NULL值,其中您的代码期望有一个字符串。去查看JSON并找出文档包含意外构造的位置。
虽然修复JSON文档是解决方案的一部分,但我还建议加强代码以防止此类失败。
答案 1 :(得分:0)
发现问题:
有些项目并非在所有选项上都可用,因此我使用此代码来防止崩溃并让用户知道没有可用的数据:
if (![dictionary objectForKey:@"Guests"] isKindOfClass:[NSNull class]]) {
gueststxt.text = [newsArticle objectForKey:@"Guests"];
} else {
gueststxt.text = @"No Data";
}
刚发布此内容以防有人遇到此问题。