What kind of object does @[obj1, obj2] create?

前端 未结 2 1208
心在旅途
心在旅途 2020-12-06 19:09

I came across the following:

NSArray *array = @[object1, object2];

It seems to be creating an NSArray, but is this array insta

2条回答
  •  感情败类
    2020-12-06 19:30

    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

提交回复
热议问题