Object-c @property的用法

Object-c @property的用法

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

property是一种代码生成机制,可以生成不同类型的getter/setter函数,特别是假设你想要用点(.)操作符号来存取变量的话,你就能必须使用property。

 

怎样使用?

使用方法如:@property (attribute1,attribute2) float value;

 

这些attribute包含:

readonly-仅仅读,仅仅能读取而不能设定值(不能用setXXXX的函式)。

readwrite-可读可写(默认)。

assign-在设值时替换新旧变量(默认)。

retain-在设值时retain新的变量,release旧变量。

copy-在设值时copy一份新变量,release旧变量。

nonatomic-默认為atomic。

strong – 在引用计数环境下,默觉得strong,与retain作用同样;

从5.0系统后引入了weak,作用与assign相似,只是当所指向对象引用为0时,自己主动置为nil。

前两个仅仅是简单的设定变量的可读写性。

 

assign仅仅是简单的替换变量,通常运用在标量类型上,比如:NSInterger和CGRect,

或者(在引用计数环境)为那些你不拥有的对象,比如:delegates。

在垃圾收集环境下retain 和 assign实际上是同样的。

它的产生的setter代码內容类似:

– (void)setValue:(float)newValue {

value = newValue;

}

 

另一点很要注意的就是,在使用property时一定要在前面带上self(如:self.xxx),假设你不这样做,easy造成内存泄漏。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118313.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 发送邮件 带附件或者表格

    java 发送邮件 带附件或者表格packagecom.sub.utils;importjavax.activation.DataHandler;importjavax.activation.DataSource;importjavax.activation.FileDataSource;importjavax.mail.*;importjavax.mail.internet.*;importjava…

    2022年5月14日
    62
  • 将headers请求头字符串转为字典

    将headers请求头字符串转为字典

    2021年10月3日
    36
  • python cv.imread_为什么cv2里没有imread

    python cv.imread_为什么cv2里没有imread为什么使用Python-OpenCV虽然python很强大,而且也有自己的图像处理库PIL,但是相对于OpenCV来讲,它还是弱小很多。跟很多开源软件一样OpenCV也提供了完善的python接口,非常便于调用。OpenCV的稳定版是2.4.8,最新版是3.0,包含了超过2500个算法和函数,几乎任何一个能想到的成熟算法都可以通过调用OpenCV的函数来实现,超级方便。一、需要工具本…

    2022年10月14日
    5
  • 关于group by的用法 原理

    关于group by的用法 原理写在前面的话:用了好久groupby,今天早上一觉醒来,突然感觉groupby好陌生,总有个筋别不过来,为什么不能够select*fromTablegroupbyid,为什么一定不能是*,而是某一个列或者某个列的聚合函数,groupby多个字段可以怎么去很好的理解呢?不过最后还是转过来了,简单写写吧,大牛们直接略过吧。=========正文开始===========  …

    2022年5月9日
    68
  • 万能乘法速算法大全_哪位老师整理的数学公式大全以及小学速算技巧,这么全?赶紧为孩子存下!…

    万能乘法速算法大全_哪位老师整理的数学公式大全以及小学速算技巧,这么全?赶紧为孩子存下!…于茫茫书海中,为你寻找更适合自己成长的有效资源和那些锲入心灵的文字。与高人交心,轻松学习,把时间留给更重要的人更重要的事。精彩就点击右上角分享出去,赠人玫瑰手染余香。上册预习专区小学1-6语文课内:第1课第2课第3课第4课第5课第6课第7课第8课第9课单元1练习:第1课第2课第3课第4课第5课作业1第6课第7课第8课作业2第9课生字:1-3年级生字…

    2022年6月7日
    33
  • arp命令_arp协议的主要功能是什么

    arp命令_arp协议的主要功能是什么ARP(AddressResolutionProtocol)命令用于显示和修改“地址解析协议(ARP)”缓存中的项目ARP把IP地址解析成LAN硬件使用的媒体访问控制地址。以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包原理某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后就会进行数据传输。如果未找到,则广播A一个A

    2025年8月19日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号