• OC 3对象初始化


    1、分配对象

    分配(allocation)是一个新对象诞生的过程。

    向某个类发送alloc消息的结果,就是为该类分配一块足够大的内存,以存放该类的全部实例变量。同时,alloc方法还顺便将这块内存区域全部初始化为0。BOOL类型变量被初始化为NO,int类型变量被初始化为0,float类型变量初始化为0.0,所有的指针被初始化为nil。

    一个刚刚分配的对象并不能立即使用,需要先初始化该对象,然后才能使用它。有些语言(如C++和Java),使用构造函数在单次操作中执行对象的分配和初始化。OC将这两种操作拆分为两个明确的步骤:分配和初始化。

    2、初始化对象

    initialization从操作系统取得一块内存,准备用于存储对象。init方法(即执行初始化操作的方法)几乎总是返回它们正在初始化的对象。可嵌套进行alloc和init调用。

    Car *car=[[car alloc] init];

    2.1、编写初始化方法

    - (id) init

    {

      if(self==[super init]){

        engine=[Engine new];

        tires[0]=[Tire new];

        tires[1]=[Tire new];

        tires[2]=[Tire new];

        tires[3]=[Tire new];

      }

      return (self);

    }

    如果在初始化一个对象时出现问题,则init方法可能返回nil。表明未能初始化该对象。

    init方法返回已经被初始化的对象。

    2.2、初始化时做什么

    init方法完成的工作,在该方法中,要执行全新的初始化工作,给实例变量赋值并创建你的对象完成任务所需要的其它对象。

    3、便利初始化函数

    有些对象拥有多个以init开头的方法。重要的是要知道,这些init方法实际上没什么特别的,他们都只是遵循命名约定的普通方法。

    许多类包含便利初始化函数,它们是用来完成某些额外工作的初始化方法。

    - (id) init;

    4、更多部件改进

    6、指定初始化函数

  • 相关阅读:
    Python 压缩图片至指定大小
    nginx 服务器自签https协议 (Let’s Encrypt)
    Django 批量创建app
    常见的设计模式(python )———适配器模式
    带你完全理解Python中的metaclass,type,class之间的恩怨情仇...
    常见的设计模式(python)———单例模式(转载)
    常见的设计模式(python)———工厂模式
    常见的设计模型(python)——建造者模型
    Django-restframework 概述及目录
    Java多线程开发
  • 原文地址:https://www.cnblogs.com/cjj-ggboy/p/13040810.html
Copyright © 2020-2023  润新知