我正在练习一些bool功能,我似乎被困住任何帮助将不胜感激。我一定是犯了一些小错误。
-(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 :(得分:1)
您的方法调用错误。你调用这样的方法:[object method]
。
在您的情况下[self checkForWin]
。