0

重複の可能性:
Objective-cで疑問符とコロン(?:三項演算子)はどういう意味ですか?

oldRowあるインデックスパスに等しく設定していることを理解しています。私はこの構文を見たことがなく、使用している本の中で説明を見つけることができません。以下のコードの目的は何?ですか?このコードは正確に何をしますか?

int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;
4

3 に答える 3

7
int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;

次と同等です。

int oldrow = 0;
if (lastIndexPath != nil)
    oldRow = [lastIndexPath row];
else 
    oldRow = -1;

その構文は三項演算子と呼ばれ、次の構文に従います。

condition ? trueValue : falseValue;

i.e oldRow = (if lastIndexPath is not nil ? do this : if it isn't do this);
于 2012-06-14T17:44:42.453 に答える
2

これは省略形の if ステートメントです。基本的には以下と同じです:

int oldRow;

if(lastIndexPath != nil)
{
    oldRow = [lastIndexPath row];
}
else
{
     oldRow = -1;
}

条件付きの割り当てで非常に便利です

于 2012-06-14T17:44:16.267 に答える
1

このコードはこのコードと同じです

int oldRow;

if (lastIndexPath != nil)
   oldRow = [lastIndexPaht row];
else
   oldRow = -1;
于 2012-06-14T17:44:09.747 に答える