OC中声明变量的几种方式
2015-05-23 20:56
302 查看
第一种.
.h文件里
@interface Test : NSObject{
NSString *s;
}
第二种.
.h文件里
@interface Test : NSObject{
NSString *s;;
}
@property (copy, nonatomic) NSString *s;
.m文件里
@synthesize s = _s;
第三种.
.h文件里
@interface Test : NSObject{
}
@property (copy, nonatomic) NSString *s;
.m文件里
@synthesize s = _s; //有没有都无所谓
方式一 声明的成员变量只能在类内部使用。
方式二 显然是一种已经过时的方式,xcode在没有自动合成属性器之前,需要手写getter与setter方法、,下划线从风格上表明这是类的内部变量,要是需要直接使用变量则需要使用get或者set的方式。
XCode有了自动合成属性器后,编译器会自动帮我们生成一个以下划线(_)开头的的实例变量,所以我们不必去同时声明属性与变量。
方式三 推荐使用 目前主流的使用方式。在.m里加不加 @synthesize s = _s; 都无所谓。
一定注意@synthesize方法放到@implementation......@end之内~
.h文件里
@interface Test : NSObject{
NSString *s;
}
第二种.
.h文件里
@interface Test : NSObject{
NSString *s;;
}
@property (copy, nonatomic) NSString *s;
.m文件里
@synthesize s = _s;
第三种.
.h文件里
@interface Test : NSObject{
}
@property (copy, nonatomic) NSString *s;
.m文件里
@synthesize s = _s; //有没有都无所谓
方式一 声明的成员变量只能在类内部使用。
方式二 显然是一种已经过时的方式,xcode在没有自动合成属性器之前,需要手写getter与setter方法、,下划线从风格上表明这是类的内部变量,要是需要直接使用变量则需要使用get或者set的方式。
XCode有了自动合成属性器后,编译器会自动帮我们生成一个以下划线(_)开头的的实例变量,所以我们不必去同时声明属性与变量。
方式三 推荐使用 目前主流的使用方式。在.m里加不加 @synthesize s = _s; 都无所谓。
一定注意@synthesize方法放到@implementation......@end之内~
相关文章推荐
- oc中,对象声明成员变量的几种方式,以及对应的一些扩展知识
- OC中用@interface和 @property 方式声明变量的区别
- 声明string变量的几种方式区别
- java基础58 JavaScript的几种格式和变量的声明方式(网页知识)
- OC -- @interface和@property两种声明变量方式的区别
- 几种声明全局变量的方式的不同以及ie中的变量人格分裂
- OC -- @interface和@property两种声明变量方式的区别
- android传递数据的几种方式之利用全局变量进行传递
- js和html的结合方式及js的变量声明和数据类型
- OC基础加强篇(读出和写入文件的几种方式)
- objective_C中用@interface和 @property 方式声明变量的区别
- 两个变量交换的几种方式
- IOS,objective_C中用@interface和 @property 方式声明变量的区别
- oracle 存储过程 变量的声明和赋值的3种方式
- IOS,objective_C中用@interface和 @property 方式声明变量的区别
- Ubuntu中设置环境变量的几种方式及区别
- 1.java数组的几种声明和初始化的方式
- IOS,objective_C中用@interface和 @property 方式声明变量的区别
- JavaScript声明全局变量三种方式的异同
- OC中几种请求方式