-3

私は現在持っています:

transformations = @[@[1, 1], @[1, -1], @[-1, 1], @[-1, -1]];

これを与えるべきタイプは何ですか?(NSArray *)?

4

4 に答える 4

4

NSArrayですNSArrays。スカラーを に変換する必要がありますがNSNumbers。:)

transformations = @[@[@1, @1], @[@1, @-1], @[@-1, @1], @[@-1, @-1]];

Clang ドキュメントから:

// 整数リテラル。
NSNumber *fortyTwo = @42; // [NSNumber numberWithInt:42] と同等
NSNumber *fortyTwoUnsigned = @42U; // [NSNumber numberWithUnsignedInt:42U] と同等
NSNumber *fortyTwoLong = @42L; // [NSNumber numberWithLong:42L] と同等
NSNumber *fortyTwoLongLong = @42LL; // [NSNumber numberWithLongLong:42LL] と同等

于 2013-09-30T17:52:27.060 に答える
1

配列にはプリミティブ型ではなくオブジェクトが必要なので、配列にNSNumbers を設定する必要があります。たとえば、 を使用し@(1)、 を使用して値を取得しますtransformations[x][y].intValue

于 2013-09-30T17:52:26.327 に答える
1
NSArray *transformations = @[@[@1, @1], @[@1, @(-1)], @[@(-1), @1], @[@(-1), @(-1)]];
于 2013-09-30T17:53:19.317 に答える
1

int リテラルを NSNumber オブジェクトにラップできます。

NSNumber *intNumber = [NSNumber numberWithInt:-1];

次のように記述して、NSNumber のクイック構文を使用することもできます。

@(-1) 

NSArray ステートメント内。

于 2013-09-30T17:53:29.770 に答える