我正在关注手势识别的教程,它包括制作扑克牌等。我有一个名为“rank”的属性,类型为NSUInteger,所以这个人做了一个函数将等级作为字符串返回,函数看起来像这个:
- (NSString *) rankAsString {
return @[@"A",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"J",@"Q",@"K"][self.rank];
}
我真的不明白发生了什么,我从来没有见过一个数组后跟一个吸气剂。
答案 0 :(得分:1)
return @[@"A",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"J",@"Q",@"K"][self.rank];
相当于:
NSArray *array = [NSArray arrayWithObjects:@"A",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"J",@"Q",@"K", nil];
return [array objectAtIndex:self.rank];
您发布的这一行使用了新的(好的......现在不是那么新的)客观C文字。
@[ ... ]
创建一个NSArray
对象。
您可以使用方括号直接访问NSArray
对象:例如array[0]
。