0

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

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

目前我有两种方法:

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

+(BOOL)checkIfGameAlreadyExistsAgainst:(PFUser *)opponentUser 

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

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

这是解决这个问题的正确方法还是可能有更好/更清洁的方法?

4

1 回答 1

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])
{
}
于 2013-07-08T18:10:35.287 回答