我正在尝试找出正确的方法来处理某种方法。
工作流 创建游戏时,我想首先搜索该用户是否已存在游戏。如果有游戏,我将不会创建一个并向用户显示消息。
目前我有两种方法:
+(void)createNewGameAgainst:(PFUser *)user2 withCompletion:(void (^)(BOOL success))completionHandler
+(BOOL)checkIfGameAlreadyExistsAgainst:(PFUser *)opponentUser
首先调用createNewGame ...方法。然后在此我打电话给[self checkIfGameAlreadyExistsAgainst:user2];。
如何从第一种方法中检查第二种方法的结果?那么如何确定调用checkIfGameAlreadyExistsAgainst方法的BOOL值是什么?
这是接近这个的正确方法还是有更好/更清洁的方式?
答案 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])
{
}