发表于: 2016-12-05 22:33:27
2 1016
今天完成的事情:看完第十章对象初始化
明天计划的事情:复习第八章学习第十一章属性
遇到的问题:只能算是了解,并不能完全掌握后运用所学知识。
收获:以前用的new 和 alloc init组合作用一样都是分配内存并初始化,以后主要使用后者。if([self = [super init]){} 这段代码会直接对超类进行初始化,然后判断init初始化会不会返回一个nil,并且给self赋值。一步到位。因为init方法有可能返回不同的对象所以要用self接收,而self是通过固定的距离寻找实例变量的内存位置,不会再变了,作用范围也是局部的。在初始化时可以创建对象也可以不创建,具体看对象种类多少,种类多不建议在初始化时创建对象。有好多以init开头便利初始化函数让代码更少。构造便利初始化函数的时候,如果在init中赋值必须要指定初始化函数,不然子类的子类对象无法接受变量。接受参数最多的初始化方法是最终的指定初始化函数。这一章没理解反而把set get理解更深了。
评论