OC基础7:变量和数据类型

本文介绍了Objective-C中初始化方法的重载,局部变量、实例变量、静态变量和全局变量的区别,枚举数据类型的使用,以及typedef和位运算符的概念和规则。重点讲解了静态变量的作用域,属性与实例变量的关系,以及位运算符在整型值操作中的应用。
摘要由CSDN通过智能技术生成

1、有时候初始化需要让对象带有初始值,那么可以定义另一个初始化方法来使用,比如:

   -(XCLASS *) initWith: (int) n {

      self = [super init];

      if(self) {

        [self setFunction: n];  // setFunction方法是指XCLASS定义的赋值方法

      }

      return self;

   }

这个方法的意思是:首先用父类的init方法先把对象初始化,然后用if(self)判断是否初始化成功(初始化成功则self不为空,判断条件成立;注意没初始化的话,self的值是空的),成功则使用赋值方法给对象赋值,那么这就是一个带赋值的初始化方法了。

同时为了方便使用,甚至可以再进一步重载init方法,如下:

-(instancetype) init {

  return [self initWith: 0];

}

那么当使用init方法的时候,就会自动使用重载过的方法,给对象赋初始值0。方法的返回类型instancetype表示未确定具体返回类型,因为你不知道使用重载过的init方法的会是哪一个继承后的类。重载init方法有一个标准模板,如下:

-(instancetype) init {

  [super init];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值