ten.textValue = [[NSMutableString alloc]init];
ten.textValue = [NSMutableString stringWithString:textField.text];
2行目でクラッシュしています。
ten.textValue is NSMutableString
。NSMutableString stringWithStringクラッシュを与える
ten.textValue = [[NSMutableString alloc]init];
ten.textValue = [NSMutableString stringWithString:textField.text];
2行目でクラッシュしています。
ten.textValue is NSMutableString
。NSMutableString stringWithStringクラッシュを与える
ten.textValue = [[NSMutableString alloc]init];
を作成するときは、所有するオブジェクトを作成しています。
次の行に文字列を追加しようとすると、自動解放文字列が作成されます。これはコンパイラーを混乱させています。コンパイラーは「ハング・オン - これは割り当て済みの所有オブジェクトです」と報告しています。代わりに
:
if(ten.textValue)
{
ten.textValue = [NSMutableString stringWithString: textField.text]};
}
が初期化されていません。 – Nitish
UITextField
is nil
by default、および[NSMutableString stringWithString:nil]
からnil
を渡すtext
プロパティがクラッシュの原因となるので、それはおそらくです。 - それは何の目的を果たしていない、割り当てられたので
[NSMutableString stringWithString: textField.text ? textField.text : @""]
ます。また、最初の行を排除する必要があります:あなたはこのような、たとえば、コピーすることを渡す際に必ずtext
がnil
ないようにするために必要な
割り当てられた値はすぐに上書きされます。
上記のコードはtextFieldShouldReturnにあるため、textfieldテキストはnilではありません。私はテキストフィールドテキストを取得しています。 – Nitish
@Nitish第2行を変更しようとしましたか?あなたはまだクラッシュしますか? – dasblinkenlight
テキストフィールドとは何ですか? – andershqst
UITextFieldです。 – Nitish
新しいNSMutableStringをなぜ次の行に上書きするのはなぜですか? – dasblinkenlight