Here's a macro to do it in one line for a static instance in a method scope.
#define STATIC_ARRAY(x, ...) \
static NSArray* x=nil; \
static dispatch_once_t x##onceToken; \
dispatch_once(&x##onceToken, ^{ x = @[ __VA_ARGS__ ]; });
Use example
STATIC_ARRAY(foo, @"thing1", @"thing2", [NSObject new]);