setObjectForKey:iphone 应用程序中的对象不能为零崩溃
setObjectForKey: object cannot be nil crash in iphone app
我是 iphone 应用程序开发的新手,我在下面的代码行中遇到了这个异常,有人可以帮我解决这个问题吗?
错误
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: varText)'
代码
[bodyDict setObject:textobj.varText forKey:TEXT_KEY];
最初你从 textobj.varText
得到 nil 值,所以检查字符串长度是否为空
if([textobj.varText length] != 0)
[bodyDict setObject:textobj.varText forKey:TEXT_KEY];
else
[bodyDict setObject:@"" forKey:TEXT_KEY];
简短易读的方法:
bodyDict [TEXT_KEY] = textobj.varText ?: @"";
?: 运算符检查第一个操作数是否为 nil。 returns 如果它不是 nil 则它是第一个操作数,如果第一个操作数是 nil 则它是第二个操作数。
我是 iphone 应用程序开发的新手,我在下面的代码行中遇到了这个异常,有人可以帮我解决这个问题吗?
错误
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: varText)'
代码
[bodyDict setObject:textobj.varText forKey:TEXT_KEY];
最初你从 textobj.varText
得到 nil 值,所以检查字符串长度是否为空
if([textobj.varText length] != 0)
[bodyDict setObject:textobj.varText forKey:TEXT_KEY];
else
[bodyDict setObject:@"" forKey:TEXT_KEY];
简短易读的方法:
bodyDict [TEXT_KEY] = textobj.varText ?: @"";
?: 运算符检查第一个操作数是否为 nil。 returns 如果它不是 nil 则它是第一个操作数,如果第一个操作数是 nil 则它是第二个操作数。