-1

クラスの文字列パスワードと比較しようとしている UITextField があります。パスワードが nil の場合に問題が発生します。デバッガーによると空のUITextField戻り値@""なので、長さベースのアプローチを試しました。

 NSString *pw;
 if([[alertView textFieldAtIndex:1].text length] > 0)
     pw = room.password;

 if([pw isEqualToString:room.password])
  //do some code

しかし、これはまだパスワードがゼロの場合は機能しません...デバッガーで と の両方が検証されていますpw(room.password以下nilを参照)...何が起こっているのですか?

ここに画像の説明を入力

4

4 に答える 4

1

これを試して:

UITextField *textField = [alertView textFieldAtIndex:1];
if (textField.text == nil) {
    //empty textField
    DoSomething();
} else {
    //textField contains text
    DoSomethingElse();
}
于 2013-08-30T20:12:05.510 に答える
0

strong が nil の場合、存在しないため比較できません。

于 2013-08-30T20:15:23.123 に答える