【发布时间】:2012-10-16 17:12:56
【问题描述】:
查看 Xcode 中的 Master-Detail 模板,在 App Delegate 中,SplitViewController 的视图控制器设置如下:
self.splitViewController.viewControllers = @[masterNavigationController, detailNavigationController];
我不知道方括号前的@符号的用途是什么。这就是不使用[NSArray arrayWithObjects:] 时NSArrays 的制作方式吗?
【问题讨论】:
-
@通常表示“后面是一个Objective-C对象或符号”;有关方括号的含义,请参见 mipaldi 的答案。在我的脑海中,它也适用于引号(用于字符串)、大括号(用于字典)、普通括号(用于数字)和特殊关键字的正常范围(接口、选择器、类等)。 -
是的,我已经学习 Objective-C 一个多月了,所以我看到了很多 @"NSString"、@selector(method:) 和 [@ "Format Object: %@", object] 但我从未见过@[]。
-
@InfinityJames 新的 Objective-C 文字语法今年才出现,所以这可能就是为什么你还没有看到它的原因。由于它真正所做的只是提高可读性,因此如果您的代码非常稳定,则可以忽略它。
-
干杯汤米,这是有道理的。我想知道这是否是 iOS 6 的另一个补充。
-
从技术上讲,它不是 iOS 6 的新增功能,因为编译器这样做只是为了简化语法而不是新功能,但它在 iOS 6 中或多或少出现了,所以这绝对是你的上下文最有可能看到使用情况。
标签: objective-c cocoa nsarray objective-c-literals