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,它不能保存字符,所以我假设 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 回答