La syntax objetiva-c extraña: corchetes y signo @

Estoy usando GHSidebarNav en uno de mis proyectos y encontré este código asignando una matriz de objects. No tengo ni idea de lo que está haciendo. ¿Es solo una matriz? ¿Qué es esta extraña @[...] syntax? No lo he visto antes:

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

    Estos son literales de array, un tipo de contenedor literal, disponible en Xcode 4.4 y posterior.

    Ver:

    • "Sintaxis literal" sección de la discusión de matrices en la Progtwigción con el Objetivo C
    • Objetivo-C Literals debate en el sitio LLVM
    • WWDC 2012 Modern Objective-C , unos 19-20 minutos en él
    • WWDC 2012 Migración al objective moderno-C

    Ese es un nuevo literal objective C que declara una matriz multidimensional.

    Está reemplazando [NSArray arrayWithObjects:[NSArray arrayWithObjects:...], [NSArray arrayWithObjects:..]]];