您的当前位置:首页正文

OC中实例变量初始化方法,setter方法以及便利构造器的不同

2024-11-06 来源:个人技术集锦

OC中实例变量初始化方法和setter方法

1.使用实例初始化方法 initWith开头的方法

2.使用实例setter方法 默认初始化方法 + setName:xxx setAge:xx  

3.使用构造器 类名+With…


首先介绍下实例初始化方法

使用实例初始化方法 initWith开头的方法

.h文件


.m文件里

main函数


这种赋值方法有几点需要注意:
1) 自写初始化函数需要 以 initWith开头  必须形如 initWith…注意大小写
2 )一个类里可以有多个初始化方法,但是只能有一个“指定初始化”方法,指定初始化方法是在调用任意一个初始化方法的时候都会默认被调用的初始化方法,也就是说 指定初始化方法是在其它初始化方法里面被调用的,每一个初始化方法内部必须调用指定初始化方法,这不是规则,而是通用的原则。
如 上例做如下修改:
添加一个初始化方法:
h文件声明:
-(void)initWithStudentID:(NSString *)studentID score:(float)score;
m文件实现:
-(void)initWithStudentID:(NSString *)studentID score:(float)score
{
self = [self initWithName:NIL sex:NIL age:NIL studentID:studentID score: score
}


setter方法

.h文件

.m文件

main函数





便利构造器方法

便利构造器书写规则 
类方法  开头以类名开头类名首字母小写 后续驼峰法,属于类方法 用+号

.h文件



.m文件



main函数

  创建对象的方法如下



这种方法创建对象就很便捷了,因为无需每次手动申请空间,调用alloc函数。
一个初始化函数里面只能有一个super init类的方法,这样能保证多个入口一个出口,避免混乱。



显示全文