调用BOOL方法并处理结果

时间:2013-07-05 08:15:39

标签: ios objective-c ios5 boolean objective-c-blocks

我正在尝试找出正确的方法来处理某种方法。

工作流 创建游戏时,我想首先搜索该用户是否已存在游戏。如果有游戏,我将不会创建一个并向用户显示消息。

目前我有两种方法:

+(void)createNewGameAgainst:(PFUser *)user2 withCompletion:(void (^)(BOOL success))completionHandler

+(BOOL)checkIfGameAlreadyExistsAgainst:(PFUser *)opponentUser 

首先调用createNewGame ...方法。然后在此我打电话给[self checkIfGameAlreadyExistsAgainst:user2];。

如何从第一种方法中检查第二种方法的结果?那么如何确定调用checkIfGameAlreadyExistsAgainst方法的BOOL值是什么?

这是接近这个的正确方法还是有更好/更清洁的方式?

1 个答案:

答案 0 :(得分:1)

函数的返回值可以像变量一样使用:

BOOL gameExists = [self checkIfGameAlreadyExistsAgainst:user2];   // assign result to a new variable

if(gameExists == YES)   // compare result to YES
{
}

您可以跳过创建新变量并只比较结果

if ([self checkIfGameAlreadyExistsAgainst:user2] == YES)    // compare result directly
{
}

当类型为BOOL时,您可以省略比较并执行此操作:

if ([self checkIfGameAlreadyExistsAgainst:user2])
{
}