What is the difference between arrayWithObjects and initWithObjects?

前端 未结 3 1164
借酒劲吻你
借酒劲吻你 2020-12-18 02:45

Can you please explain me exact difference between these two lines?

NSArray *foo = [NSArray arrayWithObjects:@\"hai\",@\"how\",@\"are\",@\"you\",nil];
NSArra         


        
3条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-18 02:58

    arrayWithObjects is "convenience constructor".

    It will do:

    return [[[NSArray alloc] initWithObjects:@"hai",@"how",@"are",@"you",nil] autorelease]
    

    for you.

    It is just a convenience method to get an autoreleased object while improving the readability of the statement. Keep in mind that the fact that the object is autoreleased is a simple convention of the language (not a rule, so you could do differently, but I would not suggest that).

提交回复
热议问题