これまで見たことがなかったので、このコード行が何を意味するのか疑問に思っていました。前もって感謝します
- (NSString *)suit
{
return _suit ? _suit : @"?"; /* precisely this part */
}
これまで見たことがなかったので、このコード行が何を意味するのか疑問に思っていました。前もって感謝します
- (NSString *)suit
{
return _suit ? _suit : @"?"; /* precisely this part */
}
suit
NSStringを返すのは呼び出された関数です。
_suitがnilでない場合、この関数は_suitを返し(_suit ? _suit
ます。
それ以外の場合は、@ "?"を返します。(:@"?"
これを行います)。
(something?somethingElse:somethingElseAgain)は、何かがtrueの場合は、somethingElseを返し、それ以外の場合は、somethingElseAgainを返すことを意味します。
言い換えれば、それは次のように書くための単純なインラインの方法です。
if (something) {
return somethingElse;
}
else {
return somethingElseAgain;
}
- (NSString *)suit
{
if(_suit)
return _suit;
return @"?"
}
それが三項演算子です。略記です
if (_suit)
_suit;
else
@"?";