oc语言类 便利初始化函数 便利构造器 属性

来源:互联网 发布:新媒体沟通软件 编辑:程序博客网 时间:2024/04/30 22:23

便利初始化函数

接口文件-(id)initWith实例变量去下划线首字母大写:(实例变量类型)去下滑线实例变量;为了方便缩写成如下:-(id)initWithXxx:(_xxx的类型)xxx;
实现文件-(id)initWithXXX(_xxx的类型)xxx{if(self = [super init]){    _xxx=xxx;}return self;}
main文件中类 *对象=[[类 alloc]initWithXxx:(赋值)]

便利构造器

接口文件+(id)类名首字母小写WithXxx:(_xxx的类型)xxx;
实现文件+(id)类名(首字母小写)WithXxx:(_xxx的类型)xxx{类 *类名(首字母小写) = [[类 alloc]initWithXxx:(_xxx的类型)xxx];return 类名(首字母小写);}
main 文件类 *对象=[类 类名(首字母小写)WithXxx:(赋值)];

属性

接口文件.h@property(读写性,原子性,setter语义)实例变量类型 实例变量名;/*相当于声明了setter 和 getter 函数*/
实现文件.m@synthesize 实例变量,实例变量.../*其中@synthesize 实例变量,实例变量...在实现文件.m中可注释掉,此时系统会自动生成下划线开头的变量.所以在实现文件的内部我们需要用变量_xxx来代替变量xxx*/

读写性 :
1. readwrite 可读写 这是默认的 可以省略不写
2. readonly 只能读

原子性 :
1.nonatomic : 非原子操作 (经常用这个)
2.atomic : 原子操作

3 .setter语义
1.strong 表示强引用 即拥有对象所有权
2.weak 表示弱引用
3.copy 通过复制copy对象,之前的对象会接收到释放的消息
4.assign 简单的赋值 这是默认的方式
5.retain 通过retain来持有目标对象, 之前的对象会接收到释放的消息
//setter语义中涉及内存管理的知识

0 0
原创粉丝点击