Таким образом, каждый объект имеет метод инициализатора по умолчанию, -init
В Objective-C в чем разница между методом Factory и инициализатором удобства?
Если вам нужен объект для экземпляра со свойствами, можно было бы написать что-то вроде
-initWithProperty1:(Property1*)prop1 andProperty2:(Property2*)prop2
Это будет называться так:
[[SomeClass alloc]initWithProperty1:(Property1*)prop1 andProperty2:(Property2*)prop2]
Я всегда думал, что это называется фабричным методом (это правильно?)
Но тогда Я наткнулся на этот вопрос: How to write an Objective-C convenience constructor
Где выглядит «конструктор удобства» - это то же самое, что и заводской метод? Но, возможно, конструктор удобства использует метод класса как инициализатор? так что кажется, как конструктор удобства будет выглядеть следующим образом:
+someClassWithProperty1:(Property1*)prop1 andProperty2:(Property2*)prop2
и будет называться как:
[SomeClass someClassWithProperty1:(Property1*)prop1 andProperty2:(Property2*)prop2];
Кто-нибудь знает, что терминология должна быть на самом деле? Являются ли эти два термина «Factory Method» и «Constructor Constructor» тем же самым в этом контексте?
Я бы назвал 'методу initWithProperty' на«удобство инициализатору», и' someClassWithProperty' метода «фабричный метод». Но это только основывается на общих знаниях. Я не помню, чтобы какой-либо термин использовался в документах Apple. – user3386109
Да, я не могу найти ничего конкретного в документах. Многие источники имеют противоречивую информацию - вот почему я хочу сказать, что условия взаимозаменяемы –
Да, так работает английский язык. Слово означает все, что вы хотите, чтобы это означало, пока другие люди согласны с вашим определением :) – user3386109