Weird objective-c syntax - square brackets and @ sign
我在我的一个项目中使用ghsidebarnav,我遇到了分配对象数组的代码。我只是不知道它在做什么。它只是一个数组吗?这个奇怪的
1 2 3 4 5 6 7 8 9 10 11 12 | NSArray *controllers = @[ @[ [[UINavigationController alloc] initWithRootViewController:[[GHRootViewController alloc] initWithTitle:@"Profile" withRevealBlock:revealBlock]] ], @[ [[UINavigationController alloc] initWithRootViewController:[[GHRootViewController alloc] initWithTitle:@"News Feed" withRevealBlock:revealBlock]], [[UINavigationController alloc] initWithRootViewController:[[GHMessagesViewController alloc] initWithTitle:@"Messages" withRevealBlock:revealBlock]], [[UINavigationController alloc] initWithRootViewController:[[GHRootViewController alloc] initWithTitle:@"Nearby" withRevealBlock:revealBlock]], [[UINavigationController alloc] initWithRootViewController:[[GHRootViewController alloc] initWithTitle:@"Events" withRevealBlock:revealBlock]], [[UINavigationController alloc] initWithRootViewController:[[GHRootViewController alloc] initWithTitle:@"Friends" withRevealBlock:revealBlock]] ] ]; |
这些是数组文本,一种容器文本类型,在Xcode4.4和更高版本中可用。
见:
- 目标C编程中数组讨论的"字面语法"部分
- 在LLVM站点进行客观的文字讨论
- WWDC 2012现代目标C,大约19-20分钟
- WWDC 2012迁移到现代目标-C
这是一个新的目标C字面值,它声明多维数组。
它正在取代