2012-09-24 40 views
1

我正在练习一些布尔函数,我似乎被卡住的任何帮助将不胜感激。我一定会犯一些小错误。xcode的布尔函数

-(BOOL) checkForWin 
{ 
    if ([[dictionary valueForKey:[cowsShuffled objectAtIndex:cowsCard]] intValue] == 2{ 
     return YES; 
    } 
} 

-(void) moo 
{ 
    if (checkForWin == YES) { 
     NSLog (@"foo"); 
    } 
} 
+0

格式化您的代码正确使其他人更容易阅读并帮助您。它也减少了错误的发生。 –

回答

6

您需要调用方法(不是函数),而且您不需要将其与YES进行比较。该if声明确实隐含:

if ([self checkForWin]) … 

还要注意的是checkForWin有一个问题:如果if语句失败,它不会返回任何东西。它应该是简单的:

- (BOOL)checkForWin{ 
    return [[dictionary valueForKey:[cowsShuffled objectAtIndex:cowsCard]] intValue] == 2; 
} 

脚注:严格地说,if (x) …是不完全一样的if (x == YES) …。它实际上更接近于if (x != NO) …,但对于大多数意图和目的来说,这是相同的事情(并且它们不是病态的)。

1

您的方法调用错误。你可以调用这样的方法:[object method]

在你的情况下[self checkForWin]