• 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造成内存泄漏。

  • 相关阅读:
    debian 登录CUPS 管理界面报错
    Shell脚本调试技术
    贴个ALSA例程
    产业生态圈和生态圈
    开个帖,开始学习shell编程
    Lua源码阅读建议
    Flash, EEPROM, SPI Flash diff
    makefile中的notdir,wildcard和patsubst
    quartus II使用零星记录
    Hello ZED
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4019647.html
Copyright © 2020-2023  润新知