1

今日は私にとって驚きに満ちています... 以下の単純なコードが機能しません。NSLog で title プロパティが if 条件に一致することが示されていても、if ステートメントのブロックに入ることはありません。今日は気が狂いそう……。

-(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"%@", alertView.title);

if (alertView.title == @"Warehouse") {
//.... never get in here even though NSLog above returns "Warehouse"

編集:私はそれを理解しました。他の誰かに役立つ場合に備えて、ここでこれに答えてください。

どうやらiOS 6は、文字列などの比較に厳密です。== iOS 5 では正常に動作していましたが、iOS 6 では使用する必要がありました

if ([alertView.title isEqualToString:@"Warehouse"]) {

その後、正常に動作します。

4

1 に答える 1

0

あなたはそれを正しくやっていますが、小さな問題があります-適切なコードは-

 -(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:  
  (NSInteger)buttonIndex
    {
        NSLog(@"%@", alertView.title);

       if ([alertView.title isEqualToString:@"Warehouse"])

        {
          // Now it will go inside this condition
        }
   } 

今、それはあなたのために働くでしょう。

于 2012-09-27T10:46:07.873 に答える