-1

これまで見たことがなかったので、このコード行が何を意味するのか疑問に思っていました。前もって感謝します

- (NSString *)suit
{
    return _suit ? _suit : @"?";  /* precisely this part */
}
4

3 に答える 3

4

suitNSStringを返すのは呼び出された関数です。

_suitがnilでない場合、この関数は_suitを返し(_suit ? _suitます。

それ以外の場合は、@ "?"を返します。(:@"?"これを行います)。

(something?somethingElse:somethingElseAgain)は、何かがtrueの場合は、somethingElseを返し、それ以外の場合は、somethingElseAgainを返すことを意味します。

言い換えれば、それは次のように書くための単純なインラインの方法です。

if (something) {
    return somethingElse;
}
else {
    return somethingElseAgain;
}
于 2013-03-20T05:48:31.140 に答える
2
- (NSString *)suit
{
    if(_suit)
        return _suit;
    return @"?"
}
于 2013-03-20T06:01:58.637 に答える
1

それが三項演算子です。略記です

if (_suit)
    _suit;
else
    @"?";
于 2013-03-20T05:48:29.130 に答える