博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
property,类和类之间的关系
阅读量:5245 次
发布时间:2019-06-14

本文共 933 字,大约阅读时间需要 3 分钟。

property 关键字

nonatomic  非原子操作,没有加锁解锁机制,线程不安全,速度快

atomic 原子操作,有加锁解锁机制线程,安全,效率低

内存

strong---声明对一个不是自己创建的对象的拥有权,这个对象的retainCount +1

retain----同strong

weak-----不引用 它存在的作用就是解决循环引用

copy  ---重新复制一个对象出来,好处:和原对象已经脱离关系了,不受外部影响

                                            弊端:内存加大了

assign --------对于C语言的基本类型基本都是assign

readOnly ------只能读 (property 只为我们提供了getter 方法)

readWrite--------默认可读可写,(setter getter)

setter -----更改set方法,建议不要改

getter---

 

@int 自定义

相当于构造函数,有的时候初始化的时候有一些默认值,还有就是页面加载数据的时机问题,防止加载了也页面再填数据。

声明:

-(instancetype)iniWithName:(NSString*)aName andage:(int)aAge;//自定义的初始化方法必须以int开头实现

实现:

-(instancetype)initWithName:(NSString *)aName andage:(int)aAge{

if(self = [super init]){//调用父类方法init并且判断是否初始化成功

self .name = aName;

self.age = aAge

}

return self;

}

调用:

Person *yql = [[Person alloc]initWithName:@"yql"andage:18];

 自定义的三种返回类型

-(Person)*intWithName

-(id)initWithName //id 相当于void

-(instancetype)initWithName//instancetype 对象类型

 

转载于:https://www.cnblogs.com/yangqinglong/p/5056900.html

你可能感兴趣的文章
Spring属性注入
查看>>
Springboot-配置文件
查看>>
Springboot-日志框架
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
spring与quartz整合
查看>>
Kattis之旅——Eight Queens
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
snmpwalk命令常用方法总结
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>