What kind of object does @ create?

2 Solutions Collect From Internet About “What kind of object does @ create?”

This is a new collection literal available in the compiler that ship with xcode 4.4 and above

@[object1, object2];

is equivalent to

[NSArray arrayWithObjects:object1, object2, nil];

so yes, it is an autoreleased object, if you need this to be retained, you can do

myRetainedArray = [@[object1, object2] retain];

this question has a good description of all of the new literals

It’s the new llvm compiler’s literal for creating an array. The compiler changes this to:

NSArray *array = [NSArray arrayWithObjects: object1,object2,nil];

So it is returning an autoreleased object.

A Google search brought up further info:

http://clang.llvm.org/docs/ObjectiveCLiterals.html