Objective-C

@property参数

2019-02-25  本文已影响0人  越天高

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

{
    // 只有房间不同才需用release和retain
    if (_room != room) {// 0ffe1 != 0ffe1
        
        // 将以前的房间释放掉 -1
        [_room release];
        
        /*
        // 对房间的引用计数器+1
        [room retain];
        
        _room = room;
         */
        // retain不仅仅会对引用计数器+1, 而且还会返回当前对象
        _room = [room retain];
    }
}

assign : 直接赋值,不做任何内存管理(默认,用于非OC对象类型)
不会帮我们生成set方法内存管理的代码, 仅仅只会生成普通的getter/setter方法, 默认什么都不写就是assign
copy : release旧值,copy新值(一般用于NSString *)

2.控制需不需要生成set方法

3.多线程管理

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

上一篇下一篇

猜你喜欢

热点阅读