0

だから私はこれを行うのに問題があります。このコードは、私が望むようには機能しません。

if (answer.text == @"text") {
    UIAlertView  *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [alert show];
    [alert release];
}else{
    UIAlertView  *alert1 = [[UIAlertView alloc] initWithTitle:@"title 2" message:@"Title 2" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [alert1 show];
    [alert1 release];
}

私の問題は、テキストボックスの「回答」にテキスト「テキスト」が含まれていることです。最初のUIAlertViewを実行しません。それは常に else{} の 1 つを行います。このコードは、ボタンの IBAction にも含まれています。今はどんな助けでもいいです。

4

2 に答える 2

4

演算子は==ポインタのみを比較するため、NSString の 2 つの同一インスタンスは等しく比較されません。代わりに比較方法を使用してください。

if ([answer.text isEqualToString:@"text"]) ...
于 2011-08-14T05:06:37.110 に答える
0
if ([text isEqualToString:@"text"]) {

1 つの注意点:

==多くの言語では、文字列を比較するために使用するのは通常良い考えではありません。私は常に文字列比較関数またはメソッドを探します。言語マニュアルに別段の記載がない限り、そうすることをお勧めします。

于 2011-08-14T05:08:33.263 に答える