- Зачем стоит называть метод
- (id) init
? - Как я могу назвать это, есть ли что-то особенное?
- Когда мне следует называть этот метод?
ответ
http://www.otierney.net/objective-c.html:
[object init]
является вызов конструктора, который инициализирует все переменные в объекте. Этот метод вызывается в экземпляре, возвращаемом с[Fraction alloc]
. Эта операция настолько часто, как это обычно делается только в одной строке, какObject var = [[Object alloc] init];
Почему?
-(id)init
вызывается для инициализации переменных внутри объекта и выполнения любой необходимой настройки (это в основном конструктор).
Как?
Obj *obj = [[Obj alloc] init];
Когда?
Всякий раз, когда вы хотите создать объект.
Перед вызовом init необходимо вызвать alloc для класса, чтобы выделенная память была выделена для объекта такого типа.
-(id)init
- назначенный конструктор объекта. Некоторые классы имеют другие назначенные конструкторы, например UIViewController, который использует initWithNibName:bundle:
.
- 1. Что такое использование - (id) init в NSObject
- 2. Что такое метод вызова jsp init?
- 3. ExtJS: init - это шаблонный метод, что такое метод шаблона?
- 4. Что такое «init» для swift?
- 5. Что такое init coder aDecoder?
- 6. Что такое контроллер [: id]?
- 7. Что такое "+ id +"?
- 8. Что такое id-выражение?
- 9. Что такое "id == EditorInfo.IME_NULL"?
- 10. Что такое «вызов init:» в выводе LD_DEBUG?
- 11. Что такое nil, когда init NSArray?
- 12. Что такое $ cinit и $ init в AVM2?
- 13. Что такое git-svn-id?
- 14. Что такое глобальный метод?
- 15. Что такое метод Pattern.quote?
- 16. Что такое метод shoutOutCannedMessage?
- 17. Что такое метод getQuery?
- 18. Что такое # :: Метод
- 19. Что такое RequestFinalizeOnShutdown метод
- 20. Что такое метод Arrays.free?
- 21. Что такое «генподряд» метод
- 22. Что такое метод assertThat()?
- 23. Что такое метод MemberwiseClone()?
- 24. Что такое метод getDrawingCache()
- 25. Что такое метод супертипа?
- 26. Что такое генеративный метод?
- 27. Что такое метод ActivityManager.isUserAMonkey()?
- 28. Что такое метод inlining?
- 29. Что такое метод awaitTermination()?
- 30. Что такое метод HOME?
Спасибо Goetz.I могу получить его. Но даже если я не создаю объект для AppDelegateclass (класс, который автоматически генерируется), как выполняется метод init (?) Init ...? – iphone66
AppDelegate создается в какой-то момент из вызова функции NSApplicationMain (который вызывается внутри основной функции в main.m, вы можете найти этот файл в «Other Sources»). Как правило, вы не перезаписываете init для AppDelegate, а используете applicationDidFinishLaunching: инициализировать приложение. – goetz
В частности, делегат приложения часто находится в MainMenu nib (и я думаю, что это так во всех шаблонах проектов Cocoa и Cocoa Touch сейчас). Таким образом, делегат приложения создается с помощью unarchiving nib. Если это не в nib, то 'NSApplicationMain' /' UIApplicationMain' самостоятельно не будет создавать экземпляр делегата приложения; вы должны сделать это самостоятельно в коде в функции 'main'. –