NSMutableString stringWithString给出崩溃

时间:2012-01-15 13:45:47

标签: iphone nsmutablestring

ten.textValue = [[NSMutableString alloc]init];
ten.textValue = [NSMutableString stringWithString:textField.text]; 

我在第二行遇到了崩溃 ten.textValue is NSMutableString

2 个答案:

答案 0 :(得分:2)

可能是因为text is nil by defaultUITextField属性,并且nil传递给[NSMutableString stringWithString:nil]会导致崩溃。

当你传递它时,你需要确保text不是nil,例如:

[NSMutableString stringWithString: textField.text ? textField.text : @""]

您还应该删除第一行 - 它没有任何意义,因为分配和分配的值会立即被覆盖。

答案 1 :(得分:0)

创建ten.textValue = [[NSMutableString alloc]init];时,您正在创建自己拥有的对象。

当您尝试在下一行中为其添加字符串时,您将创建一个自动释放的字符串。这使编译器感到困惑,编译器报告“挂起 - 这已经是已分配的拥有对象”。

相反:

if(ten.textValue)
{
    ten.textValue = [NSMutableString stringWithString: textField.text]};
}