在Obj C中使用NSArray

时间:2014-01-22 18:29:55

标签: objective-c nsarray enumeration

我目前正在尝试为iPhone制作一个简单的craps应用程序。

在模型中我有一个方法:

-(NSString *)resultsOfRoll:(int)firstRoll :(int)secondRoll
{
    NSString *results = @"";
    NSArray *naturalNumbers = @[@7,@11];
    NSArray *losingNumbers = @[@2, @3, @12];
    NSArray *pointNumbers = @[@4,@5,@6,@8,@9,@10,@11];
    int sum = firstRoll + secondRoll;
    if(sum in naturalNumbers)
    {
       return @"You rolled a natural! You won";
    }

    return results
}

但是我收到了一个错误。我是Obj C的新手,我没有使用太多的枚举(如果那是错的,请纠正我)。如果我正确地初始化循环以及如何检查总和(roll + roll)是否在数组中,有人可以告诉我吗? 另外,我的方法名称看起来是否正确?我来自Java,这些方法sig对我来说仍然有点混乱。

1 个答案:

答案 0 :(得分:2)

if(sum in naturalNumbers)显然不是有效的语法。你正在使用类似'for in'和int而不是object的东西。

你想要的是:

if ([naturalNumbers containsObject:@(sum)]) {

如果数组包含一个包含NSNumber的{​​{1}}实例,则会询问该数组。

您的方法没有命名第二个参数,这是合法的但不鼓励。它会更好:

sum