Objective c 修剪变量并将其赋值似乎不起作用

Objective c 修剪变量并将其赋值似乎不起作用,objective-c,ios,Objective C,Ios,我有一个表单字段,我得到如下输入: NSString *name = personName.text; 那么我就这样做: NSString *name = [name stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; 但额外的字符串似乎并没有消失。我做错什么了吗?当我得到字段值时,有没有一种方法可以正确地进行微调,而不会在输入为nil的情况

我有一个表单字段,我得到如下输入:

 NSString *name = personName.text;
那么我就这样做:

NSString *name = [name stringByTrimmingCharactersInSet:
              [NSCharacterSet whitespaceAndNewlineCharacterSet]];  
但额外的字符串似乎并没有消失。我做错什么了吗?当我得到字段值时,有没有一种方法可以正确地进行微调,而不会在输入为nil的情况下跳闸,从而不会生成异常


谢谢

name
nil
时,上述代码不应该是问题。在Objective-C中允许向
nil
发送消息,结果将再次为
nil
。问题一定在别的地方。当您尝试使用
名称时,可能在这一部分之后的某个地方,否则,例如将其添加到数组或字典中

考虑将
nil
名称
替换为空字符串

if (!name) name = @"";

name
nil
时,上述代码不应该是问题。在Objective-C中允许向
nil
发送消息,结果将再次为
nil
。问题一定在别的地方。当您尝试使用
名称时,可能在这一部分之后的某个地方,否则,例如将其添加到数组或字典中

考虑将
nil
名称
替换为空字符串

if (!name) name = @"";

我不确定,但我认为您不应该再创建“名称”。直接分配就行了。比如: name=[name StringByTrimmingCharacters集合:
[NSCharacterSet Whitespace和NewLineCharacterSet]]

我不确定,但我认为您不应该再创建“名称”。直接分配就行了。比如: name=[name StringByTrimmingCharacters集合:
[NSCharacterSet Whitespace和NewLineCharacterSet]]

在您创建了带有-StringByTrimmingCharacters的新字符串设置后,您将如何处理它?@hooleyhoop我将其发送到数据库…没有什么特别之处:)您说的“多余的字符串似乎不会消失”是什么意思?你能举一个输入字符串的例子,以及修剪后得到的结果吗?在你用-StringByTrimmingCharacters创建了新字符串后,设置你用它做什么?@hooleyhoop我将它发送到数据库……没什么特别的:)你说“多余的字符串似乎不会消失”是什么意思?你能举一个输入字符串的例子,以及修剪后得到的结果吗?