Цель-C: init vs initialize
в Objective-C, в чем разница между init метод (т. е. назначенный инициализатор для класса) и initialize способ? Какой код инициализации должен быть помещен в каждого?
2 ответа:
-init- Это метод экземпляра, используемый для инициализации конкретного объекта.+initialize- Это метод класса, выполняемый перед созданием любых экземпляров класса и перед запуском других методов класса.+initializeэто не то, что вы используете большую часть времени, но это удобно для настройки любых статических переменных, которые может использовать класс в целом, или для обеспечения выполнения определенных условий перед созданием каких-либо экземпляров.код, который принадлежит в метод тщательно в реализация инициализатора на Язык Программирования Objective-C. Есть также некоторое обсуждение инициализации классов (т. е.
+initialize) и почему вам может понадобиться сделать это в том же документе, в Объекты Класса. Код, который входит в+initializeобычно будет сильно привязан к специальной функциональности класса, которая требует, чтобы вы инициализировали его в первую очередь. Одна важная вещь, чтобы держать в ум в+initialize(и в любом методе класса) этоselfв методе класса ссылается на сам класс, а не на экземпляр класса.