6.属性

作者: 写代码写到人生巅峰 | 来源:发表于2017-05-05 13:32 被阅读0次

1、在类接口中声明实例变量 意味着对象布局在编译器就已经固定。只要访问该实例,编译器就把它替换成“偏移量”,如果增加新的实例变量会导致偏移量出错,需重新编译。 声明为属性,偏移量会在运行时查找。

2、通过属性特质来指定存储数据所需的正确语义(分为4大类)

2.1.原子性
//  由于历史原因,atomic会造成iOS上性能问题,一律用nonatomic。在者atomic事实上也无法保证线程安全
@property(nonatomic, readonly, getter=isViewLoaded) BOOL viewLoaded

//  2.2.读写权限:readonly只读,readwrite读写(默认值)
@property(nonatomic, readonly, getter=isViewLoaded) BOOL viewLoaded

/**
 *  2.3.内存管理语义
 *  assgin: ”纯量类型“
 *  strong: "拥有关系",先保留新值,释放旧值,设置新值
 *  weak: "非拥有关系",属性所指的值遭到销毁,属性值也会清空
 *  unsafe_unretained: 语义和assign相同,当目标对象遭到摧毁时,属性值不会清空
 *  copy: strong类似。不保留新值,保留其拷贝。源对象不可变还是用strong吧。
 */

/**
 *  2.4.指定存取的方法名: 属性是Boolean型时常用
 */
@property(nonatomic, readonly, getter=isViewLoaded) BOOL viewLoaded

3.设置属性对应的实例变量时,一定要遵从属性所声明的语义。

相关文章

  • 6.属性

    1、在类接口中声明实例变量 意味着对象布局在编译器就已经固定。只要访问该实例,编译器就把它替换成“偏移量”,如果增...

  • 对数据库中表的 增删改查

    课程总结 表数据属性=列属性 6. 列的属性和约束 6.1 主键: primary key (PK) 说明: 唯一...

  • web前端入门到实战:11种常用css样式之文本字体学习

    常见css样式:1.字体与颜色2.背景属性3.文本属性4.边框属性5.鼠标光标属性6.列表样式7.定位属性8.内外...

  • TS中的接口

    本文目录: 1.接口的概念 2.可选属性和只读属性 3.任意属性 4.函数类型 5.可索引属性 6.类接口 8.接...

  • 6.元素的display属性

    6.元素的display属性 (1)定义:规定元素应该生成的框的类型 (2)常用属性值: inline:默认值。元...

  • 编写高质量代码的52个有效方法(二)—对象、消息、运行期

    6.属性 将属性声明为@dynamic,编译器则不会为其自动生成实例变量及存取方法(setter、getter方法...

  • 类0类的常用术语

    1.类 2.定义类 3.类的属性:属性其实就是变量,只不过在类中就叫做属性 4.类的实例 5.类属性的引用 6.实...

  • 6. Symbol和Symbol属性

    在ES6之前,语言包含5中类型。字符串,数字,布尔,undefined, null.ES6之后,包含了新类型Sym...

  • python进阶(1)

    1.继承 2.重写 3.类方法 4.静态方法 5.多态 6.类属性 与 实力属性 7.__new__方...

  • 2018-10-31 二阶段day3

    1.标准流和浮动 2.display属性 3.float属性 4.消除浮动 5.文字效果 6.定位 盒子模型

网友评论

      本文标题:6.属性

      本文链接:https://www.haomeiwen.com/subject/lfojtxtx.html