0

このコードは非常に悪い習慣であると確信しています。私はまだこれに慣れていないので、これが機能する方法を見つけようとしていましたが、「解析の問題」「期待される式」というエラーがスローされ続けます'。

if ((firstLabel == nil) && ([theArray objectAtIndex:0] == char A||char B||
char C||char D||char E||char F||char G||char H||char I||char J||char K||
char L||char M||char N||char O||char P||char Q||char R||char S||char T||
char U||char V||char W||char X||char Y||char Z))
    {
        [firstLabel setText:[theArray objectAtIndex:0]];
    };
4

2 に答える 2

0

文字がa、b、c、d、..であるかどうかを確認したいと思います.theArrayがNSArrayの場合、charを保持できないため、NSStringsを想定しています

もしそうなら、構文は

... [theArray objectAtIndex:0] == @"A" || [theArray objectAtIndex:0] == @"B" || [theArray objectAtIndex:0] == @"C"

しかし、もっといい:

if(theArray.count) {
    id str = @"ABCDEFGHI"; //allowed
    id needle = [theArray objectAtIndex:0];
    if([str rangeOfString:needle].location!=NSNotFound) { 
        //its in!
    }
}
于 2013-03-06T16:47:18.800 に答える
-1

文字セットを作成し、それに基づいて確認します。

NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"ABCDEFGHIJKLMNOPQRSTWXYZ"];
unichar c = [theArray objectAtIndex:0];
if ((firstLabel == nil) && [myCharSet characterIsMember:c])
{
  [firstLabel setText:[NSString stringWithFormat:@"%c",[theArray objectAtIndex:0]];
}

お役に立てれば。

于 2013-03-06T17:05:45.643 に答える