objective-c 中的 if 语句
if statement in objective-c
谁能帮我解释一下下面代码的语法?意思是"return ? if _suit
is nil
, and return a corresponding string in an array if _suit
is not nil
"。
- (NSString *)suit
{
return _suit ? _suit : @"?";
}
是否等价于下面的代码?
if (!_suit) {
return @"?";
} else {
return ?
}
是的,这是 if 块的缩写。它是一个条件运算符。
格式如下(很多其他语言也一样):
condition ? ifTrue: ifFalse;
所以你的代码:
return _suit ? _suit : @"?";
与
相同
if(_suit) {
return _suit;
} else {
return @"?";
}
您可以阅读更多相关信息 here。
不,这不一样。 '?:' 运算符描述以下它只是一个 if else 语句作为一行:
(if 子句) ? : .
所以在你的情况下这意味着:
if (!_suit) {
return @"?";
} else {
return _suit;
}
谁能帮我解释一下下面代码的语法?意思是"return ? if _suit
is nil
, and return a corresponding string in an array if _suit
is not nil
"。
- (NSString *)suit
{
return _suit ? _suit : @"?";
}
是否等价于下面的代码?
if (!_suit) {
return @"?";
} else {
return ?
}
是的,这是 if 块的缩写。它是一个条件运算符。
格式如下(很多其他语言也一样):
condition ? ifTrue: ifFalse;
所以你的代码:
return _suit ? _suit : @"?";
与
相同if(_suit) {
return _suit;
} else {
return @"?";
}
您可以阅读更多相关信息 here。
不,这不一样。 '?:' 运算符描述以下它只是一个 if else 语句作为一行:
(if 子句) ? : .
所以在你的情况下这意味着:
if (!_suit) {
return @"?";
} else {
return _suit;
}