黑马程序员技术交流社区

标题: 求大牛解答init的使用 [打印本页]

作者: wwf707542865    时间: 2015-10-12 22:22
标题: 求大牛解答init的使用
如题,怎么使用init给成员变量赋值初始化,有什么固定的格式么,只知道一个 [[类名 alloc] init]是创建一个类对象,alloc是申请内存空间,init是初始化,但是怎么用init不是很清楚
作者: faceseagod    时间: 2015-10-12 22:30
[类名 new]=[[类名 alloc] init],这两者是等价的.
作者: HiGodl    时间: 2015-10-15 16:40
这个学完构造函数就知道怎么用了
用法一,在类实现文件中重写init方法
  1. -(id)init{
  2. if(self = [super init]){ //先初始化父类属性并将指针指向该区域
  3. _age = 12; //假设该类有age属性,给age赋初值
  4. }
  5. return self  //将初始化的对象返回
  6. }
复制代码


用法二:就是调用方法为[[类名 alloc] initWithAge:12],这种写法的构造函数,也就是带参的构造函数
  1. //首先是类声明文件中的方法声明
  2. -(id)initWithAge:(int)age;
  3. //实现文件中的方法实现
  4. -(id)initWithAge:(int)age{
  5. if(self=[super init]){
  6. _age = age
  7. }
  8. return self
  9. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2