gpt4 book ai didi

objective-c - "return @[blah, blah] [self.foo]"是什么意思?

转载 作者:太空狗 更新时间:2023-10-30 04:02:03 27 4
gpt4 key购买 nike

我正在学习一些教程,但有一行代码我不太理解:

- (NSString *)rankAsString
{
return @[@"?",@"A",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"J",@"D",@"K"][self.rank];
}

返回了什么?谢谢!

最佳答案

这也称为 Lookup Table并且可以在这种情况下代替 switch/case 或 if/else。

也就是说,代码创建一个 NSArray(属于 NSString)用作查找,然后在指定的序号位置检索字符串 - 例如Ace(“A”)是第 1 位,King(“K”)是第 13 位。

考虑一下代码是否写成了:

NSArray* array = @[@"?", @"A", ..., @"K"];
return array[self.rank];

这里可以看出数组是一个单独的表达式。 @[..]@".."array[..] 形式包含在Clang documentation onOBJECTIVE-C LITERALS 中。 ;该语法可以在 Apple LLVM Compiler 4 中使用。

关于objective-c - "return @[blah, blah] [self.foo]"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19942452/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com