面试题-关键字
来源:互联网 发布:台湾省政府 知乎 编辑:程序博客网 时间:2024/05/18 02:07
1. @dynamic @synthesize @property
- @dynamic: 告诉编译器存储器方法将在运行时生成。
- @synthesize: 告诉编译器为你创建存取器方法(getter和setter)。
- @property: 高所编译器创建存取器方法,并且能够通过点语法和消息访问。
Nonatomic
nonatomic用于多线程。
当属性申明为nonatomic(非原子性)时,任何其他的线程能线程安全地存取对应对象的对应属性。
Copy
- 当想要获得一个对象的不可变副本时使用copy。
- 不可变指得到的新的副本的属性不会被之后该对象的其他拥有者修改。
- 使用完成后需要释放对象,因为使用copy会持有新产生的副本对象。
Assign
- Assign某些方面与copy相反。
- 当返回一个assign属性时,它返回一个对实际对象的引用,而不是副本的引用。
- 一般基本属性用该关键字修饰(float,int,BOOL…)
Retain
- 当属性为一个指向对象的指针时使用retain修饰。
- 通过@synthesize产生的setter方法retain对象。
- 不再使用对象时需要release。
- 使用retain将会增加对象的引用计数和自动释放池中的内存消耗。
Strong
- strong是在OC的ARC中对retain属性的一个替代。
- 在非ARC中,它和retain是一样的。
Weak
- weak与strong类似,但它不会使引用计数加1。
- 它不会成为对象的持有者,指示保持一个指向对象的引用。
- 如果对象的引用计数减为0,即使仍然有一个带有weak修饰的指针指向它,该对象仍会从内存中释放。
0 0
- 面试题-关键字
- [面试题]volatile,static关键字
- 常规面试题-4.关键字
- Java面试题--static关键字
- 面试题总结 - C 语言 - 关键字(keywords)
- C/C++ 面试题 关键字篇
- 面试题-----throw和throws是的区别 finally关键字及其面试题
- 解读关键字volatile(C语言面试题分析之一)
- 解读关键字volatile (C语言面试题分析之一)
- javascript面试题 之 js中this关键字的用法
- 【那些年遇到过的面试题】关键字volatile
- 【那些年遇到过的面试题】 explicit关键字
- 面试题--java中volatile关键字的含义
- C/C++常见笔试面试题之常考关键字
- 面试题:Java关键字列表和保留字列表
- 面试题....
- 面试题
- 面试题
- 理论经典:TCP协议的3次握手与4次挥手过程详解
- eclipse连接不上手机
- FM ALV REUSE_ALV_GRID_DISPLAY_LVC 标准状态栏代码
- Git创建公共服务舱并自动同步到目标版本库
- JS中的spllit()分隔字符串和JAVA中的split分隔字符窜
- 面试题-关键字
- Windows XP、Cygwin、NDKr5b编译Android下的ffmpeg(转)
- 字段处理实例
- spring 加载配置文件application.properties,类里如何调用@Value的解决办法
- php遇到的错误与异常以及分析
- Android系统篇之----免root实现Hook系统服务拦截方法
- spring security的原理及教程
- 对3D渲染管线(渲染流水线)的理解
- 自定义ToolbarControl上的工具