zoukankan      html  css  js  c++  java
  • @property在内存管理中的参数问题


    //
    //  Created by wanghy on 15/8/14.
    //
    //
    /*
     
     
     retain : release旧值,retain新值(用于OC对象),要配合nonatomic使用。
     assign : 直接赋值,不做任何内存管理(默认,用于非OC对象类型)
     copy   : release旧值,copy新值(一般用于NSString *)
     
     控制需不需生成set方法
     readwrite :同时生成set方法和get方法(默认)
     readonly  :只会生成get方法
     
     多线程管理
     atomic    :性能低(默认)
     nonatomic :性能高(为iOS系统开发软件建议使用,为mac开发软件可以使用atomic)
    
     */
    
    #import <Foundation/Foundation.h>
    
    @class Car;
    
    @interface Person : NSObject
    
    //property 的 参数没有顺序要求,nonatomic,性能较高,一般用于  ios 开发,而atomic一般用语Mac开发。
    @property(nonatomic,retain) Car *  car1;
    
    @end




    原子性 atomic 对属性加锁, 多线程下县城安全, 默认选项
    nonatomic 对属性不加锁, 多线程访问下不安全, 但速度快
    读写性 readwrite 生成 getter 和 setter 方法, 默认选项
    readonly 只生成 getter 方法
    set 方法处理 assign 直接赋值, 默认值
    retain 先 release 原来的值, 在 retain 新值
    copy 先 release 原来的值, 再 copy 新值

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    iOS加载动态图的两种方法
    python初探
    博客园封笔
    office的分栏技巧
    关于排序...
    LaTex 学习笔记
    vim 学习笔记
    iOS 编程学习笔记之Foundation框架
    数论
    扫描线概览
  • 原文地址:https://www.cnblogs.com/wahy/p/4817220.html
Copyright © 2011-2022 走看看