zoukankan      html  css  js  c++  java
  • iOS之初始化对象

    更新记录

    时间 更新记录
    2020年4月6日 初稿

    初始化对象

    • 一般使用alloc分配内存,Objective-C中的alloc方法将这片内存全部初始化为0
    • OC中的对象必须先初始化才能使用(调用OC中的init或者initwithxxx函数)
    • 一般的对象需要分配内存和初始化后才能使用,C++和Java中都是在构造函数的一次操作中便完成上述操作。而OBjective-C中是分开两个操作
    • Objective-C中最好使用嵌套方式初始化对象,如Car *car = [[Car alloc] init];
      • 初始化方法返回的对象可能与分配的对象不同
      • 像NSString或者NSArray这样类,可能内部是类簇的实现。在调用带参数的init函数时,内部可能会返回另外一个类的对象,导致init返回的对象和alloc返回的对象是不同的。

    编写初始化方法

    • 常见如下代码:
    (id) init {
        if (self = [super init]) {
            //do something to init
        }
        return self;
    }
    
    • 调用基类的init代码,可以让基类完成自身的初始化工作
    • 如上所述,init方法返回的对象可能和alloc方法返回的不同。因此这里要更新self的值
    • 查找实例变量时,是通过self及固定的偏移距离来寻找内存位置的。因此self的值非常重要,不能出错。

    参考资料

    • 《Objective-C基础教程》第2版 10.1 对象初始化
  • 相关阅读:
    day04作业
    一个简单的gridlayout栗子
    用户名、密码等15个常用的js正则表达式
    html 颜色
    心态好的人,一辈子都好
    怎么样好好的聊天呢
    一篇引用文章
    再见,发微信不回的人
    第一个不怎么正经的网页
    关于学科目标
  • 原文地址:https://www.cnblogs.com/HelloGreen/p/12649895.html
Copyright © 2011-2022 走看看