0

以下のコードは行にエラーを生成しますが、その[myArray objectAtIndex:i];理由がわかりませんか?

何か案は?

int total = 0;
    for (int i = 0; i < myArray.count; i++) {
        int tempNumber = [myArray objectAtIndex:i];
        total = total + tempNumber;
    }
4

2 に答える 2

6

オブジェクトを int に設定していることが原因である可能性があります。定義により、objectAtIndex はオブジェクトを返します。

myArray 内のオブジェクトのタイプに応じて、次のようなことを試すことができます。

int tempNumber = [[myArray objectAtIndex:i] intValue];
于 2012-07-09T18:52:22.197 に答える
2

配列に s を入れていない場合は、s を取り出すintために何か特別なことをする必要がありますint。上記のコードでエラーが発生する場合は、配列に s がないためintであり、必要です

int myInteger = [[myArray objectAtIndex:i] intValue];

または、コードの残りの部分に応じて、配列から int を取得するためのもの。

于 2012-07-09T18:52:10.047 に答える