首页

时间和精神的房子
壹只iOS程序员的修行世界,欢迎来访

如果文章对您有所帮助
将是我最大的荣幸

[转]属性声明在implementation与extension的使用规范

当你新建一个类的时候,Xcode会自动给你写上以下代码。

#import <Foundation/Foundation.h>

@interface Car : NSObject

@end

#import "Car.h"

@implementation Car

@end

Objective-C 编译器指令是以 @ 打头,它通常用来描述文件中的内容。在 .h 文件中,@interface 指令用来标识文件的接口代码的起始位置,而 @end 指令标示该段的结束位置。在 .m 文件中, @implementation 指令用来标识实现的起始位置,@......

属性内存管理相关修饰符的使用规范

简介

strong/retain:只能修饰对象。持有对象。两者等价。

assign/unsafe_unretained:最好只修饰基础数据类型。修饰对象时,不持有对象。对象销毁后会属性值不会自动清空从而造成悬垂指针。两者等价。

weak:只能修饰对象。不持有对象。当对象被销毁后,属性值会自动清空。

copy:只能修饰对象。与 strong 类似,但是赋值的是被复制的对象。

strong/retain

修饰语义

此特质表明该属性定义了一种“拥有关系”(owning relationship)。为这种属性设置新值时,设置方法会先保留新值,并释放旧值,然后再将新值设置上去。

......