我现在有:
transformations = @[@[1, 1], @[1, -1], @[-1, 1], @[-1, -1]];
应该给出什么类型的? (NSArray *)?
答案 0 :(得分:4)
这是NSArray
的{{1}}。虽然您应该将标量转换为NSArrays
。 :)
NSNumbers
//整数文字。
NSNumber * fortyTwo = @ 42; // 相当于[NSNumber numberWithInt:42]
NSNumber * fortyTwoUnsigned = @ 42U; //相当于[NSNumber numberWithUnsignedInt:42U]
NSNumber * fortyTwoLong = @ 42L; //相当于[NSNumber numberWithLong:42L]
NSNumber * fortyTwoLongLong = @ 42LL; // 相当于[NSNumber numberWithLongLong:42LL]
答案 1 :(得分:1)
数组必须有一个对象,而不是一个原始类型,因此您需要使用NSNumber
填充数组。例如,使用@(1)
,并使用transformations[x][y].intValue
获取值。
答案 2 :(得分:1)
NSArray *transformations = @[@[@1, @1], @[@1, @(-1)], @[@(-1), @1], @[@(-1), @(-1)]];
答案 3 :(得分:1)
您可以将int文字包装到NSNumber对象中。
NSNumber *intNumber = [NSNumber numberWithInt:-1];
等
您还可以通过编写:
来使用NSNumber的快速语法@(-1)
在您的NSArray声明中。