A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wwf707542865 中级黑马   /  2015-10-12 22:22  /  674 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题,怎么使用init给成员变量赋值初始化,有什么固定的格式么,只知道一个 [[类名 alloc] init]是创建一个类对象,alloc是申请内存空间,init是初始化,但是怎么用init不是很清楚

2 个回复

倒序浏览
[类名 new]=[[类名 alloc] init],这两者是等价的.
回复 使用道具 举报
这个学完构造函数就知道怎么用了
用法一,在类实现文件中重写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. }
复制代码
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马