setObjectForKey:对象不能在iphone应用程序中崩溃

时间:2016-02-12 10:55:22

标签: ios objective-c nsdictionary nsobject

我是iphone应用程序开发的新手,我在下面的代码行中遇到此异常,有谁可以帮我解决这个问题?

错误

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: varText)'

 [bodyDict setObject:textobj.varText forKey:TEXT_KEY];

2 个答案:

答案 0 :(得分:1)

简短易读的方法:

bodyDict [TEXT_KEY] = textobj.varText ?: @"";

?:运算符检查第一个操作数是否为零。如果它不是n,则返回第一个操作数,如果第一个操作数为nil,则返回第二个操作数。

答案 1 :(得分:0)

最初你从textobj.varText得到nil值,所以检查字符串长度是否为空

if([textobj.varText length] != 0)
  [bodyDict setObject:textobj.varText forKey:TEXT_KEY];
else
  [bodyDict setObject:@"" forKey:TEXT_KEY];