我目前有:
transformations = @[@[1, 1], @[1, -1], @[-1, 1], @[-1, -1]];
什么类型应该给这个?(NSArray *)?
我目前有:
transformations = @[@[1, 1], @[1, -1], @[-1, 1], @[-1, -1]];
什么类型应该给这个?(NSArray *)?
它是一个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]
数组必须有一个对象,而不是原始类型,所以你需要用NSNumber
s 填充你的数组。例如,使用@(1)
,并使用 获取值transformations[x][y].intValue
。
NSArray *transformations = @[@[@1, @1], @[@1, @(-1)], @[@(-1), @1], @[@(-1), @(-1)]];
您可以将 int 文字包装到 NSNumber 对象中。
NSNumber *intNumber = [NSNumber numberWithInt:-1];
等等
您还可以通过编写以下代码来使用 NSNumber 的快速语法:
@(-1)
在您的 NSArray 语句中。