Objective-C:@property参数详解
格式:@property(param1, param2) 类型 属性名
参数可有可无
三类参数:
- 1.读写属性:readwrite/readonly
readwrite:产生setter\getter
readonly:只产生简单的getter,没有setter
- 2.setter处理:assign/retain/copy
assign:默认类型,setter方法直接赋值,不进行retain操作
retain:表示先release原来的值,再retain新的值;
copy:先release原来的值,再copy新值;
- 3.原子性:atomic/nonatomic
atomic:默认类型,提供多线程安全。在多线程环境下原子操作是必要的,否则有可能引起错误结果;
加了atomic,setter/getter是一个原子操作。如果有多个县城同时调用setter的话,不会出现某一个线程执行setter全部语句之前,另一个线程开始执行setter的 情况,相当于给方法加了锁。
nonatomic:禁止多线程提供变量保护,提高性能;
atomic是OC使用的一种线程保护技术,防止在写入未完成的时候被另一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备 上,如果没有使用多线程间的通信编程,那么nonatomic是一个非常好的选择,另外,由于其不涉及锁的操作,执行速度也相对快点。
Objective-C:@property参数详解的更多相关文章
- spring注入参数详解
spring注入参数详解 在Spring配置文件中, 用户不但可以将String, int等字面值注入到Bean中, 还可以将集合, Map等类型的数据注入到Bean中, 此外还可以注入配置文件中定义 ...
- JAVA 命令参数详解System.setProperty(
JAVA 命令参数详解: 1.-D<name>=<value> set a system property 设置系统属性. java -D参数简化加入多个jar java命令 ...
- JVM的参数详解(转)
12年毕业到先在处理第一年外这几年纯属于打酱油,当初自学Java然后就出来找工作了,还有第一家面试就通过了挺幸运的 但之后的这段时间一直是处于吃老本的状态.最近心情真的很不好,各种黄老邪!一直处于堕落 ...
- Lock_sga 和 pre_page_sga 参数详解
Lock_sga 和 pre_page_sga 参数详解 Lock_sga 和pre_page_sga,是两个平时用的不算太多的参数,但是这两个参数平时在优化的时候可能给你带来比较乐观的 ...
- zookeeper的配置参数详解(zoo.cfg)
配置参数详解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg文件) 参数名 说明 clientPort 客户端连接server的端口,即对外服务端口,一般设置为2181吧. data ...
- POPSpring动画参数详解
POPSpring动画参数详解 效果 源码 https://github.com/YouXianMing/Animations // // POPSpringParameterController.m ...
- 连接池中的maxIdle,MaxActive,maxWait等参数详解
转: 连接池中的maxIdle,MaxActive,maxWait等参数详解 2017年06月03日 15:16:22 阿祥小王子 阅读数:6481 版权声明:本文为博主原创文章,未经博主允许不得 ...
- [java]BoneCP 参数详解
BoneCP 参数详解: ======================================== 一.BoneCP配置文件格式(bonecp-config.xml): xml versio ...
- VBA的过程及参数详解
VBA的过程及参数详解 VBA中的过程(Procedure)有两种,一种叫函数(Function),另外一种叫子程序(Subroutine),分别使用Function和Sub关键字.它们都是一个可以获 ...
随机推荐
- [SAP ABAP开发技术总结]反射,动态创建内表、结构、变量
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- hdu 2199 (二分)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2199 Can you solve this equation? Time Limit: 2000/1000 ...
- max(min)-device-width和max(min)-width的区别
在网页自适应设计中,max-device-width和max-width是不可缺少的两大CSS属性,但是可能大家在使用的选择上没有太多讲究,认为用其中一个即可.确实,如果没有特定要求,用任何一个都没有 ...
- JS完成改变新闻字体大中小的显示
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- DOS命令解释程序的编写
实验一.DOS命令解释程序的编写 专业:物联网工程 姓名:黄淼 学号:201306104145 一. 实验目的 (1)认识DOS: (2)掌握命令解释程序的原理: (3)掌握简单的DOS调用方法 ...
- c++操作io常见命令
用c++练习下 系统常见io命令. 1)显示文档的文本 2)统计文本单词数字 3)列出目录所有文件 ,递归思路 4)查找第一个匹配的字符. 5)文本单词排序, 快速排序,其实还是递归思路 6)文本单词 ...
- mysql 内连接 左连接 右连接 外连接
mysql> desc student;+-------+-------------+------+-----+---------+-------+| Field | Type | Null | ...
- JavaWeb学习总结(十一)--JDBC之批处理
一.批处理的介绍 在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率.批处理只针对更新(增.删.改)语句,批 ...
- 20160805_Cent6.4x64_安装配置(含网卡驱动的配置)
ZC: 全程 root用户 操作. 1.我在BIOS中将 UEFI关闭了,然后 才安装的 Cent6.4x64 (ZC: 安装系统时,一起安装了 gcc等一些编程用的包.本来是想安装QT时少点麻烦的, ...
- double精度问题,数据范围
浮点数在计算机中存储方式 http://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html 1. double: 1bit(符号位) ...