NSDate* now = [[NSDate alloc] init];
目前学习Objective C和我的书似乎并没有很好地解释这一行代码。所以,我知道我们正在声明一个指向NSDate
对象的指针“now”。这条消息似乎令我感到困惑。
如果我是正确的,[NSDate alloc]
正在为NSDate
的实例分配一些内存,但是init
正在做什么?
答案 0 :(得分:0)
你对alloc
它为NSDate
init
听起来像是这样。它初始化这个新分配的内存。此时你并不需要知道init在内部做什么。
继续学习,当您谈到创建自定义类或子类的主题时,init
的角色将变得更加清晰。
答案 1 :(得分:0)
这很简单......
NSDate* now = [[NSDate alloc] init];
1.alloc为NSDate实例分配内存,即现在代码
2.init用一些默认值初始化你的实例变量。如果不使用init,那么你的实例可能包含一些垃圾值,以避免我们通常用一些默认值初始化对象。