zoukankan      html  css  js  c++  java
  • oc小总结

    1、nil对象可以接受任何消息,但无响应;

    2、NSString等的引用计数可认为无穷大;

    3、要使用Copy、Mutablecopy要实现NSCopyding、NSMutablecCopying协议;

    4、oc中,变量和方法能够同名,因为调用方式不同,能够区分;

    5、@selector(print)属于SEL类型;

    6、若两对象循环引用,那么不能同时retain,否则不能被释放;

    7、atomic是原子性的,nonatomic是非原子性的,属性默认是非原子性的,原子性的不能多个线程同时运行,而非原子性的可以;

    8、copy方法创建一个完全相同的新对象,二retain不创建新对象,只是将原来的对象引用计数加1;

    9、引用计数为1的对象,不能autorelease两次或两次以上;

    10、浅拷贝只拷贝源对象,而深拷贝会把原对象引用的对象也拷贝一份;

    11、对于实例变量,public为公开类型,protected为受保护类型,private为私有类型;

    12、copy和retain行的get方法和set方法;

    。h:
    #import <Foundation/Foundation.h>
    #import "ClassTwo.h"
    
    @interface ClassOne : NSObject
    
    @property(nonatomic,assign) ClassTwo *Copy;
    @property(nonatomic,assign) ClassTwo *Retain;
    
    - (id)Copy;
    - (void)setCopy:(ClassTwo *)c;
    
    - (void)setRetain:(ClassTwo *)retain;
    - (id)Retain;
    
    @end
    
    。m:
    
    #import "ClassOne.h"
    
    @implementation ClassOne
    @synthesize  Copy=_Copy;
    @synthesize Retain=_Retain;
    
    - (id)Copy
    {
        return _Copy;
    }
    
    - (void)setCopy:(ClassTwo *)c
    {
        [_Copy release];
        
         _Copy=[c copy];
    }
    
    - (void)setRetain:(ClassTwo *)retain
    {
        [_Retain release];
        _Retain=retain;
        [_Retain retain];
    }
    
    
    - (id)Retain
    {
        return _Retain;
    }
    
    
    
    
    @end
  • 相关阅读:
    helix matrix 螺旋矩阵
    利用基数排序生成100个1000以内顺序排列的随机数
    第三次随笔
    gSoap: How to add info to SOAP Header using gSOAP(转)
    sizeof empty class object
    C++基础回顾字符串地址比较
    (转)RVA相对虚拟地址解释
    团队建设历史经验回顾
    C++全局变量的生老病死
    C++基础回顾强制类型转换
  • 原文地址:https://www.cnblogs.com/yueyuanyueyuan/p/3550952.html
Copyright © 2011-2022 走看看