美文网首页
创建对象

创建对象

作者: MissSunRise | 来源:发表于2018-03-03 13:38 被阅读8次

    第三部分

    创建对象

    为类分配相应的空间,默认值为0。

    id 变量名 = [类名 alloc];

    类名 *变量名 = [类名 alloc];

    例如:Atom *atom = [Atom alloc];

    初始化对象

    -(id)init

    {

        //调用父类

        //如果没有调用次方法。init将返回nil

        if((self = [super init]))

        {

            _chemicalElement = @"None";

        }

        return self;

    }

    通过这个方法获取父类

    如果需要初始化带参数 那么方法会延长

    例:- (id)initWithNeutrons:(NSUInteger) neutrons

    Atom *atom = [[Atom alloc] init];

    //即分配了内存,又初始化了对象

    发送消息

    向对象发送信息:

    [接收器 消息名和参数]

    为属性设置:

    对象名.属性名 = 值

    调用类方法:

    [类名 消息名称和参数]

    消息转发

    当程序出现不能发送信息给指定的目标时,程序就会报错。

    而objective-c 有一种特殊的机制,消息转发机制。

    其意是当对象收到与其方法不匹配的消息时,通过消息的转发机制可以使对象执行用户预先定义的处理过程。(可以将无法识别的小心发送给同一接收器,PS这里难道是传说中的垃圾消息接收装置???或者什么也不去做)

    快速转发:利用forwardingTargetForSelector:方法,将该方法转发给其他对象。垃圾桶

    标准转发:利用forwardInvocation:方法。什么都不去做

    向Hydrogen类添加快速转发机制

    创建一个辅助类

    HydrogenHelper类为辅助类

    HydrogenHelper.h 创建方法

    HydrogenHelper.m   实现代码

    当调用这个方法当时候

    返回提示信息

    设置好HydrogenHelper类以后,在Hydrogen中增加触发机制

    在Hydrogen中想要得到HydrogenHelper的方法,需要初始化HydrogenHelper对象

    相关文章

      网友评论

          本文标题:创建对象

          本文链接:https://www.haomeiwen.com/subject/cjmtfftx.html