Objective-Cの文字列の扱い
UITextFieldに入力された文字列(UILabelに表示された文字列でも可)と特定の文字列が同じかどうか判別する場合について。
しばらくObjective-Cご無沙汰でぼーっとしてて、つい数値と同じように==で書いてしまいましたが、Objective-Cの場合は以下のようになります。
・UITextField(myField)に「あか」と入力されたらUILabel(hantei)に「同じ」と出力される
・.h UIViewController{ IBOutlet UITextField *myField; IBOutlet UILabel *hantei; NSString *equalword; } //UITextField用 -(IBAction)inputText; .m -(IBAction)inputText{ equalword = @"あか"; if ([myField.text isEqualToString:equalword] ) { hantei.text = @"同じ"; } else{ hantei.text = @"違うよ"; } }
なお、特定の文字列が含まれているかどうかの判定をする場合は以下です。上の.mに書かれている部分をそっくり書き換えるだけ。
NSRange searchMoji = [myField.text rangeOfString:@"あか"]; if (searchMoji.location != NSNotFound){ hantei.text = @"あるよ"; } else{ hantei.text = @"ないよ"; }