if ([self errorIsServerError:error] || [self errorIsBadRequest:error] || [self errorIsNetworkError:error]) {
return YES;
}
方法errorIsServerError:
,errorIsBadRequest:
和errorIsNetworkError:
都返回BOOL YES
或NO
。
但我不理解语法。是吗:
if (YES || YES || YES) { return YES; }
?
答案 0 :(得分:3)
||相当于说'或'。因此,如果任何值为true,则代码返回true。这就是它的说法:
if ([self errorIsServerError:error] or [self errorIsBadRequest:error] or [self errorIsNetworkError:error])
如果其中任何一个都是真的那么
{
return YES;
}
答案 1 :(得分:3)
如果特定分类适用于给定错误,则每个返回YES
。如果错误是服务器或网络错误或错误请求,则该方法将返回YES
。
你可以这样看:
if ([self errorIsServerError:error]) {
// The error is a server error
return YES;
} else if ([self errorIsBadRequest:error]) {
// The error is a bad request
return YES;
} else if ([self errorIsNetworkError:error]) {
// The error is a network error
return YES;
}
在任何一种情况下,如果错误是这些类型中的任何一种,它将返回yes。如果它是两个或所有类型(YES
是逻辑(包含)"或"运算符),它也将返回||
。
如果它不属于任何类型,那么您的方法将继续运行,直到它返回另一个返回语句。
答案 2 :(得分:2)
你要问的是什么并不是很清楚,但总的来说,你可能期望 none 这些错误通过,这意味着这个if
条件会评估为false而你的程序可以继续。