В какао, для NSObject
s, не должны оба init
и initialize
быть классными методами?Почему -init метод экземпляра и + инициализировать метод класса?
ответ
+initialize
можно переопределить (необязательно) для выполнения инициализации класса. -init
выполняет инициализацию одного экземпляра класса, хотя он часто уточняется путем добавления аргументов в классы, полученные из NSObject (например: метод UIView initWithFrame:
).
С -init
инициализирует один экземпляр (в частности, он имеет доступ к переменным экземпляра), он не может быть методом класса.
Из документов:
Среда выполнения отправляет инициализации каждому классу в программе непосредственно перед классом, или любого класса, который наследует от него, посылается первое сообщение из программы.
Это означает, что первый раз, когда вы отправить сообщение в класс, будь то alloc
или какой-либо определенный метод класса, initialize
называется первым, один раз за весь пробег приложения. В отличие от load
, можно включить класс в проект и никогда не ударять initialize
.
init
, с другой стороны, является
Осуществляется подклассов, чтобы инициализировать новый объект (приемник) сразу же после памяти было выделено.
Значение, init
является Sheerly используется для инициализации класса экземпляров.
Edit -
После отредактированной вопрос, alloc
создает экземпляр в то время как init
инициализирует его, поэтому alloc
является методом класса и init
является методом экземпляра.
- 1. Является метод метод класса или метод экземпляра
- 2. Rename инициализировать метод более дружественным INIT
- 3. Метод экземпляра Ruby класса def initialize: метод экземпляра или класса?
- 4. Отфильтрован фильтрArrayUsingPredicate: метод экземпляра или метод класса?
- 5. Objective C - метод класса, метод экземпляра
- 6. Quartz2d и метод экземпляра
- 7. ruby: как инициализировать метод класса с параметрами?
- 8. Objective-c Супер инициализирует метод класса или метод экземпляра?
- 9. Почему метод экземпляра не работает?
- 10. Почему alias_method - это метод экземпляра?
- 11. INIT] как фабричный метод
- 12. метод экземпляра класса для IPhone
- 13. Переопределить метод из экземпляра класса
- 14. Метод вызова из экземпляра класса
- 15. Метод класса или метод экземпляра с параметром для категории NSDate?
- 16. Метод класса, успешно вызванный методом экземпляра
- 17. iPhone init метод issue
- 18. Метод и метод класса класса Perl
- 19. Почему статический метод не может ссылаться на метод экземпляра?
- 20. Вызывать метод класса C++ без экземпляра класса?
- 21. Метод класса удобства vs alloc init
- 22. Вызванный метод класса из экземпляра базового класса
- 23. Где использовать метод класса, метод экземпляра в Objective-C
- 24. NSInvocationOperation init возвращает метод вызова метода nil из метода класса
- 25. Конструктор сервлета и метод init()
- 26. метод init в java.util.hashMap
- 27. сфера и метод экземпляра
- 28. Rspec передает метод класса, но метод экземпляра с ошибкой
- 29. Почему `_isurl` метод экземпляра, а не статический метод numpy` DataSource`?
- 30. Метод HttpModule Init вызывается несколько раз - почему?