oc中@interface@property@implementation理解

一.@interface中声明属性有三种

方式一:直接在@interface中的大括号中声明。

@interface MyTest : NSObject{

    NSString *mystr;

}

方式二:在@interface中声明,然后再在@property中声明。

@interface MyTest : NSObject{

    NSString *_mystr;

}

@property (strong, nonatomic) NSString *mystr; 

随后在.m文件中加入 

@synthesize mystr = _myStr;

方式三:直接用@property声明

@interface MyTest : NSObject{

}

@property (strong, nonatomic) NSString *mystr;

随后在.m文件中加入@synthesize mystr = _myStr;

二.关于@property括号中的属性表达的意思如下:
assign 简单赋值,引用计数不增加
readwrite 读写操作,默认
readonly 只读属性
copy 深复制
retain 保留对象
strong 保留对象
weak 不保留对象,对象为空时自动变为nil
nonatomic 非原子性,不对线程加锁,高性能
atomic 多线程加锁,性能低

三.@implementation

即oc中的类必须包括两部分,interface部分和implementation部分,这才是oc中的一个类的完整声明;然后OC中将成员变量和成员方法的声明部分放置在interface部分中,包括继承关系,protocal实现关系,都在interface里面的头部进行声明,然后将实现部分放置在implementation部分中,相当于是将类拆分成声明和实现两部分,这两部分缺一不可,所以在OC中,不妨不要将interface叫做接口,直接叫做类声明部分来得容易理解多了,简而言之,oc中interface是类的一个部分,和implementation共同组成一个完整的类。

谢谢观看  

补充说明请点我的头像看 oc中@interface@property@implementation理解补充

猜你喜欢

转载自blog.csdn.net/miaoleigemi/article/details/81084416