ten.textValue = [[NSMutableString alloc]init];
ten.textValue = [NSMutableString stringWithString:textField.text];
我在第二行發生崩潰。
ten.textValue is NSMutableString
。NSMutableString stringWithString發生崩潰
ten.textValue = [[NSMutableString alloc]init];
ten.textValue = [NSMutableString stringWithString:textField.text];
我在第二行發生崩潰。
ten.textValue is NSMutableString
。NSMutableString stringWithString發生崩潰
當您創建ten.textValue = [[NSMutableString alloc]init];
時,您正在創建一個您擁有的對象。
當您嘗試在下一行中添加字符串時,您正在創建一個自動釋放字符串。這令編譯器感到困惑,它報告「掛在 - 這是一個已分配的擁有對象」。
相反:
if(ten.textValue)
{
ten.textValue = [NSMutableString stringWithString: textField.text]};
}
十個未初始化。 – Nitish 2012-01-15 14:18:02
這可能是因爲UITextField
is nil
by default,並通過nil
到[NSMutableString stringWithString:nil]
的text
屬性會導致崩潰。
你需要確保text
不是nil
當你通過它來進行復制,例如像這樣:
[NSMutableString stringWithString: textField.text ? textField.text : @""]
你也應該消除第一行 - 這也是沒有用處的,因爲分配並且分配的值立即被覆蓋。
編號textfield文本不爲零,因爲上面的代碼位於textFieldShouldReturn中。我正在獲取textfield文本。 – Nitish 2012-01-15 14:04:01
@Nitish你嘗試改變第二行嗎?你還會遇到這種情況嗎? – dasblinkenlight 2012-01-15 14:13:11
什麼是文本字段? – andershqst 2012-01-15 13:49:13
它是UITextField。 – Nitish 2012-01-15 13:50:11
爲什麼你只分配一個全新的'NSMutableString'來覆蓋下一行? – dasblinkenlight 2012-01-15 13:50:14