まゆたまガジェット開発逆引き辞典

電子工作やプログラミングのHowtoを逆引き形式で掲載しています。作りたいモノを決めて学んでいくスタイル。プログラマではないので、コードの汚さはお許しを。参照していないものに関しては、コピペ改変まったく問いません

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 = @"ないよ";
    }