Должен ли я предпочесть фабричные (удобные) конструкторы распределению и инициализации?

Многие объекты Foundation предоставляют два интерфейса для создания:

  1. Общий NSObject init метод:

    _array = [[NSMutableArray alloc] init];

  2. Специализированный фабричный метод (удобный конструктор), например:

    _array = [NSMutableArray array];

Недавно у меня появилась привычка делать последнее, и мне было интересно, есть ли причина предпочесть одно другому.

Я использую ARC, поэтому автоматическая природа удобных конструкторов сама по себе не имеет значения.


person sapi    schedule 13.06.2013    source источник
comment
Если вы используете ARC, то этот ответ в значительной степени охватывает вас stackoverflow.com/questions/6776537/   -  person Alladinian    schedule 13.06.2013
comment
@Girish - я отредактирую вопрос, чтобы отразить, что меня интересуют только различия в рамках ARC.   -  person sapi    schedule 13.06.2013
comment
Эти методы называются удобными конструкторами в Objective-C.   -  person Nikolai Ruhe    schedule 13.06.2013


Ответы (1)


Удобные конструкторы немного проще в использовании. У них есть возможный недостаток в виде дополнительного автоспуска. Однако ARC может оптимизировать это.

person Nikolai Ruhe    schedule 13.06.2013