2

私はObjective-cの世界の初心者です。

私が知りたいのは、可変配列オブジェクトが存在するかどうかを確認する方法です。

ここに例があります。

if(![appDelegate.answerList objectAtIndex:3])
    {
        answer = [[NSMutableArray alloc] init];
    }
    else
    {
        answer = [[NSMutableArray alloc] initWithArray:[appDelegate.answerList objectAtIndex:3]];
    }

このコードの上では、「answer」オブジェクトはローカルであり、「answerList」オブジェクトはappDelegateクラスにあります。

どちらもNSMutableArrayオブジェクトです。

answerListの3番目のオブジェクトが割り当てられているかどうかわかりません。

すでにオブジェクトがある場合は、answerListの3番目のオブジェクトからオブジェクトをコピーしたいだけです。

しかし、そのコードは機能しません。

私はobjective-cの方法に精通していません。

道を教えてください。

4

1 に答える 1

2

count配列のプロパティを数値(この場合、配列は0ベースであるため、4)と比較することで、配列が空かどうかを確認できます。また、配列はオブジェクトを受け入れず、すべてのオブジェクトにメッセージをnil送信するため、-retain技術的には、オブジェクトの存在ではなく、カウントを比較するだけで済みます。ただし、現在のif ... else ...ブロックをこれにネストして、はるかに正確な(冗長な場合)結果を得ることができます。

if([appDelegate.answerList count] <= 4)  //object exists, and the array contains a valid index.
于 2012-08-03T06:54:50.970 に答える