我有一个表单字段,我得到这样的输入:
NSString *name = personName.text;
然后我这样做:
NSString *name = [name stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
但额外的琴弦似乎并没有消失。我做错了什么吗?有没有办法在输入nil时获取字段值而没有绊倒的情况下进行修剪,以便不生成异常?
谢谢!
答案 0 :(得分:2)
我不确定,但我认为你不应该再创造“名字”了。只需直接分配即可。喜欢: name = [name stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
答案 1 :(得分:1)
当name
为nil
时,上述代码应该不是问题。在Objective-C中允许向nil
发送消息,结果将再次为nil
。问题必须在其他地方。可能在这部分之后的某个地方当你试图使用name
时,就像将其添加到数组或字典中一样。
考虑用空字符串替换nil
name
。
if (!name) name = @"";