5

我在我的一个项目中使用 GHSidebarNav,我遇到了分配对象数组的这段代码。我只是不知道它在做什么。它只是一个数组吗?这是什么奇怪的@[...]语法?我以前没见过:

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]]
    ]
];
4

2 回答 2

7

这些是数组文字,一种容器文字,在 Xcode 4.4 及更高版本中可用。

看:

于 2012-11-20T21:39:14.000 回答
3

这是一个新的目标 C 文字,它声明了一个多维数组。

它正在取代[NSArray arrayWithObjects:[NSArray arrayWithObjects:...], [NSArray arrayWithObjects:..]]];

于 2012-11-20T21:34:47.770 回答