Ios NSInvalidArgumentException/已将无法识别的选择器发送到实例

Ios NSInvalidArgumentException/已将无法识别的选择器发送到实例,ios,objective-c,Ios,Objective C,我的应用程序在按下tableView单元格后由于某种原因崩溃。它不是第一次崩溃,但是在表中导航了几次之后崩溃了 这是我的控制台: 在进行一些调试之后,如果我删除了这行代码,它不会崩溃 [[NSTimeZone localTimeZone] secondsFromGMT] / 30 以下是我的viewDidLoad for DetailViewController: titleLabel.text = [newsArticle objectForKey:@"Series"]; timeLabe

我的应用程序在按下tableView单元格后由于某种原因崩溃。它不是第一次崩溃,但是在表中导航了几次之后崩溃了

这是我的控制台:

在进行一些调试之后,如果我删除了这行代码,它不会崩溃

[[NSTimeZone localTimeZone] secondsFromGMT] / 30
以下是我的viewDidLoad for DetailViewController:

titleLabel.text = [newsArticle objectForKey:@"Series"];
timeLabel.text = [newsArticle objectForKey:@"Duration"];
guestsLabel.text = [newsArticle objectForKey:@"Guests"];
descTextView.text = [newsArticle objectForKey:@"Content"];
“newsArticle”是:NSDictionary变量

你知道为什么会这样吗?如有任何建议,将不胜感激:)


感谢

正如错误消息所述,您试图用
NSNull
而不是字符串来调用
setText:
;i、 e.
[someTextView setText:[NSNull]]

第7帧来自您的应用程序,称为JSON。因此,假设您正在加载一个JSON文档

JSON文档中有一个空值,代码希望其中有一个字符串。查看JSON并找出文档中包含意外构造的位置

虽然修复JSON文档是解决方案的一部分,但我还建议您针对此类故障强化代码。

发现问题:

有些项目在所有选项上都不可用,因此我使用此代码来防止它崩溃,并让用户知道没有可用的数据:

if (![dictionary objectForKey:@"Guests"] isKindOfClass:[NSNull class]]) {
    gueststxt.text = [newsArticle objectForKey:@"Guests"];
} else {
    gueststxt.text = @"No Data";
}

刚刚发布了这篇文章,以防有人遇到这个问题。

这不是导致崩溃的原因。发布您的
-[DetailViewController viewDidLoad]
方法。在我看来,您正在将UITextView的
text
属性设置为
NSNull
类型的对象。