原文地址:属性项目的定义(property)

@property (copy, nonatomic) NSString *title;

什么是assign,copy,retain之间的区别?

  • assign: 简单赋值,不更改索引计数(Reference Counting)。
  • copy: 建立一个索引计数为1的对象,然后释放旧对象
  • retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1

retain的实际语法为:

- (void)setName:(NSString *)newName {if (name != newName) {[name release];name = [newName retain];// name’s retain count has been bumped up by 1}
}

说了那么麻烦,其实接下来的话最重要:

?如果你不懂怎么使用他们,那么就这样 ->

  • 使用assign: 对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char, 等等)
  • 使用copy: 对NSString
  • 使用retain: 对其他NSObject和其子类

nonatomic关键字:

atomic是Objc使用的一种线程保护技术,基本上来讲,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。

属性项目的定义(property)[ZT]相关推荐

  1. 思科(Cisco)IOS 12.3特性分析[ZT]

    cisco的ios 12.3和其子版本不仅包含增加的基本变化和漏洞修复.一起来近距离体验12个最有用的变化,包括网络准入控制(nac),最优边缘路由,动态多点***,ipsec全状态故障恢复等. 可能 ...

  2. obj-c中Autorelease、属相定义Property、对象的操作

    误释放对象 问题一: value = [array objectAtIndex:n]; // 得到一个数组中的对象 [arry removeObjectAtIndex:n]; //卸载那个对象 因为v ...

  3. 国内优秀的敏捷项目协作工具Leangoo[微信版]全新体验之后感

    用Leangoo这个工具这么久了,终于等到了他们手机端 微信版的全面升级.还好,没让我失望! 下面我说说他们微信版的全新体验- 1. 关注微信公众号,直接进入看板 关注leangoo微信公众号,点击[ ...

  4. IOS仿[自选股]项目开发

    [自选股]手机客户端致力于通过先进的移动互联技术,让广大投资者尊享更便捷的证券投资服务.其简约易用 功能特点 一:界面简洁 登录人性化 用户可通过QQ账户登录软件,无需注册登录.登录后,软件会自动同步 ...

  5. 计算机文化基础课教案,[定稿]计算机文化基础授课教案(2010)

    <[定稿]计算机文化基础授课教案(2010).doc>由会员分享,可免费在线阅读全文,更多与<[定稿]计算机文化基础授课教案(2010)>相关文档资源请在帮帮文库(www.wo ...

  6. 使用json web token[转]

    使用json web token[转] 由来 做了这么长时间的web开发,从JAVA EE中的jsf,spring,hibernate框架,到spring web MVC,到用php框架thinkPH ...

  7. 计算机应用基础全册教案,[定稿]计算机应用基础全册教案

    <[定稿]计算机应用基础全册教案.doc>由会员分享,可免费在线阅读全文,更多与<[定稿]计算机应用基础全册教案>相关文档资源请在帮帮文库(www.woc88.com)数亿文档 ...

  8. 计算机文化在线阅读,TOP18[定稿]计算机文化基础教案34171.doc文档免费在线阅读...

    <[定稿]计算机文化基础教案34171.doc>由会员分享,可免费在线阅读全文,更多与<TOP18[定稿]计算机文化基础教案34171.doc文档免费在线阅读>相关文档资源请在 ...

  9. [转]即时通信-socket

    原文地址:[转]即时通信-socket 作者:竹林沉雪 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览 器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ ...

最新文章

  1. ARMed解决方案对DSP的战争
  2. poj2186(强连通分量分解)
  3. Tesseract——OCR图像识别 入门篇
  4. 详解vue的diff算法
  5. free 命令查看linux的内存使用情况
  6. 如何定位Release程序崩溃原因
  7. mysql isnull
  8. [Leetcode][第486题][JAVA][预测赢家][动态规划][递归]
  9. Java Synchronized的用法
  10. storm中分组策略Field Grouping简单总结笔记
  11. 双线性映射(Bilinear Maps)实现(有限域、循环群)
  12. Hownbsp;tonbsp;Modifynbsp;anbsp;ATInbsp;Switchablenbsp;G…
  13. 传统的web项目(含有webroot文件夹)导入IDEA需要做的一系列配置
  14. MATLAB Coder工具箱介绍【如何利用MATLAB Coder将.m文件生成C/C++代码?】
  15. 干货!mysql初始密码
  16. mysql 参数 分隔符_mysqldump命令备份多个数据库时,参数之间分隔符是
  17. ingress 七层负载均衡器
  18. 聚焦“教-学-评-测-练-管一体化”,推动新型人才培养
  19. 自由 Freedom
  20. 数据结构学习,哈希表(链地址)

热门文章

  1. 选择加冒泡排序法与找鞍马之总结与感受
  2. C# Excel 导入
  3. rsync 断点续传
  4. Linux wine
  5. Android动画之Tween动画实战
  6. python3软件怎么使用_Python3时间戳如何应用于数学计算?
  7. 1. 列维过程的混沌及可料表示(2)
  8. 用c语言编程飘动的红旗,C语言 飘动的红旗(要有旗杆)
  9. 游戏开发需要具备哪些技术_生鲜小程序需要具备哪些功能板块?生鲜小程序开发...
  10. git 移动分支指针_git 分支( branch ) 的基本使用