zoukankan      html  css  js  c++  java
  • iOS基础(一)——属性篇

    属性是OC(Objective-C)的一项特征,就像人的某一项特征。

    这个是基于OC是面向对象的语言,万物皆对象。这也就很好理解了。

    @property (nonatomic, strong) UILabel *label;
    

    就相当于声明了label 这个属性,并且实现了他的setting和getting方法。

    @synthesize label = _label;
    -(UILabel *)label;
    -(void)setLabel:(UILabel *)label;
    

    属性有什么特征:
    1、原子性与非原子性
    原子性(atomic)在读与写属性的时候加了同步锁,只有所以进程都完成才算完成,否则,滚动回原来位置。
    非原子性(nonatomic)与原子性相反,不加同步锁。

    2、取值与赋值
    getter方法:取值方法
    setter方法:赋值方法

    3、内存管理
    assign:简单的赋值操作,如:NSInteger,GCFloat,Bool
    strong:强引用关系,当引用的对象消失,它才会消失,设置方法,保留新值,并且释放旧值。
    weak:弱引用关系,设置方法 不保留新值,不释放旧值,当指针指向的对象销毁时,指针置nil,产生了空指针。
    copy:有深拷贝与浅拷贝,浅拷贝只是拷贝值,并没有拷贝指针。深拷贝不但拷贝值,也拷贝指针,相当于真正复制一份出来

    4、读写属性
    readwrite:拥有读写属性
    readonly:只读属性

  • 相关阅读:
    nodeJS 菜鸟入门
    Chrome 鲜为人知的秘籍(内部协议)&&Chrome功能指令大全
    前端工作面试问题
    ECharts模块化使用5分钟上手
    AppCan 之初体验
    Phonegap 环境配置
    【位运算】判断一个数是否为2的n次方
    【位运算】移位操作实现乘法运算
    O(1)时间复杂度求栈中最小元素
    Java Socket UDP编程
  • 原文地址:https://www.cnblogs.com/smileK/p/9552841.html
Copyright © 2011-2022 走看看