oldRow
あるインデックスパスに等しく設定していることを理解しています。私はこの構文を見たことがなく、使用している本の中で説明を見つけることができません。以下のコードの目的は何?
ですか?このコードは正確に何をしますか?
int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;
oldRow
あるインデックスパスに等しく設定していることを理解しています。私はこの構文を見たことがなく、使用している本の中で説明を見つけることができません。以下のコードの目的は何?
ですか?このコードは正確に何をしますか?
int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;
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);
これは省略形の if ステートメントです。基本的には以下と同じです:
int oldRow;
if(lastIndexPath != nil)
{
oldRow = [lastIndexPath row];
}
else
{
oldRow = -1;
}
条件付きの割り当てで非常に便利です
このコードはこのコードと同じです
int oldRow;
if (lastIndexPath != nil)
oldRow = [lastIndexPaht row];
else
oldRow = -1;