@interface …
@property (原子性,可写性,内存管理) id name;
@end

原子性:    nonatomic, atomic   默认atomic
可写性:    readwrite, readonly  默认readwrite
内存管理: assign, retain, copy  默认assign

默认值:

因为这几个属性都有默认值,所以可以任意指定某个属性或者完全不指定:
@property id name; //等价于下一行:
@property (atomic, readwrite, assign) id name;

可写性:

@property id name 会生成两个setter,getter两个访问接口
-(void) setName:(id)name;
-(id) name;

因此readonly说的是只生成getter函数不生成setter函数,默认值说的是两者都生成

内存管理:

assign 说的是接口任何时候都不会修改对象引用;
retain 说的是调用setter时会release前一个对象再retain新对象;调用getter时会retain;
copy   说的是调用setter时会copy新对象, release 前一个对象;调用getter时会retain;
@property (assign) id name; 等价于
-(void) setName: (id) aName
{self.name = aName;
}-(id) name
{return self.name;
}

@property (retain) id name; 等价于
-(void) setName: (id) aName
{if ([self.name retainCount > 0]){[self.name release];}[aName retain];self.name = aName;
}-(id) name
{[self.name retain];return self.name;
}

@property (copy) id name; 等价于
-(void) setName: (id) aName
{if ([self.name retainCount > 0]){[self.name release];}self.name = [copy aName];
}-(id) name
{[self.name retain];return self.name;
} 

结论:

除了assign属性,使用时必须release对象,否则会内存泄漏!那这样也太麻烦了,感谢ARC

转载于:https://www.cnblogs.com/code-style/p/3956429.html

Objective-C property属性解析相关推荐

  1. Maven配置文件(setting.xml)属性解析

    前置信息 Maven 版本:apache-maven-3.5.2 Nexus 信息:nexus2.nexus3 镜像仓库:如果仓库 X 可以提供仓库 Y 存储的所有的内容,那么仓库 X 就可以说是 仓 ...

  2. 【SSM - Spring篇01】spring详细概述,Spring体系结构,bean、property属性,Spring生命周期方法

    文章目录 1. Spring介绍 2. Spring体系架构 2.1 Spring核心容器(Core Container) 2.2 数据访问/集成(Data Access/Integration) 2 ...

  3. 定义一个属性_Python property属性

    1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # ############### 定义 ###############class Foo: def ...

  4. element 往node里面增加属性值_【Vue原理】Compile - 源码版 之 Parse 属性解析

    写文章不容易,点个赞呗兄弟 专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧 研究基于 Vue版本 [2.5.17] 如果你觉得排版难 ...

  5. 类 property属性

    类的定义 类的创建: 类是通过属性来保存数据的. 成员变量的修饰: Private:私有 外部不可访问 不可继承 Protected:被保护 外部不可访问 可继承 Public:公共 可被外部访问 可 ...

  6. Android常见XML属性解析

    常见XML属性解析 属性 描述 android:id android:id的设置,通常有三种方式,详见下文 android:layout_width 控件宽度 android:layout_heigh ...

  7. python 基础教程:对 property 属性的讲解及用法

    Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...

  8. python 中 property 属性的讲解及应用

    Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...

  9. Python中菱形继承的MRO顺序及property属性

    Python中菱形继承的MRO顺序及property属性 文章目录 Python中菱形继承的MRO顺序及property属性 一.Python中菱形继承的MRO顺序 1. 单独调用父类的方法 2. 多 ...

最新文章

  1. C#3.0语法新特性集合
  2. 即构科技邱国钦:遇到问题解决问题 慢慢点可以拟合成线
  3. [非技术参考]C#重写ToString方法
  4. nmon在linux系统中的应用
  5. linux下msmtp+mutt+shell发送邮件
  6. Spinner的简单实用
  7. 12.sql语句增删改查快速回顾
  8. Windows蓝屏之后,DUMP分析教程
  9. VScode中出现提示Code 安装似乎损坏。请重新安装。
  10. 使用UltraISO制作光盘镜像
  11. Android系统原理及开发要点详解
  12. WLC5508 HA ( AP SSO)
  13. proxy 状态代码503_HTTP状态503错误代码及其解决方法?
  14. 英伟达Jetson Nano的初步了解
  15. 图神经网络笔记(二)——卷积图神经网络概述
  16. 股票数据接口-陈科肇
  17. C - BLG POJ - 1417 种类并查集加dp(背包)
  18. 隐形的翅膀怎么用计算机弹出来,《隐形的翅膀》原版吉他谱分享,用音阶指法弹简谱其实很简单 … …-520吉他网...
  19. C语言1013山东理工大学试题,流体试题真题山东理工大学3页
  20. 【目标检测】60、MMYOLO | 如何使用 MMYOLO 训练模型

热门文章

  1. 一文读懂生物医学领域的传感器
  2. GAN 的发展对于研究通用人工智能有什么意义?
  3. 据说只有 Java 程序员才能看懂! | 每日趣闻
  4. 不敢回国的硅谷程序员们!
  5. 从0 到1 又如何?他逆袭成边缘云计算的贡献者
  6. 被马斯克送上天的《银河帝国》和互联网江湖 | 赠书
  7. 马斯克,带动大盘的男人:财报一出市值飙升 840 亿!
  8. 数据中心规划设计中值得注意的八个问题
  9. cocos2d JS 自定义事件分发器(接收与传递数据) eventManager
  10. loadrunner-2-12日志解析