zoukankan      html  css  js  c++  java
  • 【iOS 知识汇】copy 修饰符

    @property (nonatomic,copy)XXX* xxx ;

    新手遇难,在属性声明中使用copy 结果程序崩了。

    报错:

     unrecognized selector sent to instance 

    都不知道哪儿出问题。

    最后找到 XXX 类 不能用copy修饰。

    其它网友策略。

    @property内存管理策略的选择
    1.非ARC 1> copy : 只用于NSStringlock; 2> retain : 除NSStringlock以外的OC对象; 3> assign : 基本数据类型、枚举、结构体(非OC对象),当2个对象相互引用,一端用retain,一端 用assign。 2.ARC 1> copy : 只用于NSStringlock; 2> strong : 除NSStringlock以外的OC对象; 3> weak : 当2个对象相互引用,一端用strong,一端用weak; 4> assgin : 基本数据类型、枚举、结构体(非OC对象)。

    其实说的不一定对,其它对象也有使用copy的时候。

    在OC中,若要进行对象的拷贝,则该对象所属的类必须遵守NSCopying和NSMutableCopy协议,
    并重写copyWithZone:和mutableCopyWithZone:方法。而系统原生类,之所以可以直接进行拷贝
    是因为它已帮我们自动做了这些事。





  • 相关阅读:
    javascript实现动态侧边栏
    javascript实现图片滚动
    C语言-----野指针
    守护进程daemon.c
    UDP网络程序设计
    TCP网络程序设计
    网络编程模型
    fork和vfork
    网络协议分析
    多线程同步
  • 原文地址:https://www.cnblogs.com/mamamia/p/13130830.html
Copyright © 2011-2022 走看看