美文网首页iOS内容总结
iOS面试复习3——关键字

iOS面试复习3——关键字

作者: 木子草水莎 | 来源:发表于2017-09-19 23:23 被阅读0次

    一、@property参数

    1、控制set方法的内存管理

    retain:release旧值,retain新值(用于OC对象)

    assign:直接赋值,不做任何内存管理(默认,用于非OC对象类型)

    copy:release旧值,copy新值(一般用于NSString、Block)

    2、控制需不需生成set方法

    readwrite:同时生成set方法和get方法(默认)

    readonly:只会生成get方法

    3、多线程管理

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

    nonatomic:禁止多线程,变量保护,提高性能。

    4、控制set方法和get方法的名称

    setter:设置set方法的名称,一定有个冒号:

    getter:设置get方法的名称

    5、值可否为空

    nullable可空类型。

    null_resettable来表示setter nullable,但是getter nonnnull。

    6、ARC下@property修饰符

    strong : 用于OC对象, 相当于MRC中的retain

    weak : 用于OC对象, 相当于MRC中的assign

    assign : 用于基本数据类型, 跟MRC中的assign一样

    相关文章

      网友评论

        本文标题:iOS面试复习3——关键字

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