首页 > 代码库 > setter, getter, @property , @synthesize

setter, getter, @property , @synthesize

一,单纯的set get,

.h文件

@interface Person : NSObject{    NSString *_name;}-(void)setName:(NSString *)name;-(NSString *)getName;@end

.m文件

-(void)setName:(NSString *)name{    _name = name;}-(NSString *)getName{    return _name;}

调用

    Person *person = [[Person alloc]init];    [person setName:@"guligei"];    NSLog(@"\nname:%@",[person getName]);

打印输出:

2014-07-29 18:49:05.399 MS[8864:60b] name:guligei

二,使用@property,@synthesize

.h

@interface Person : NSObject@property(nonatomic,strong) NSString *name;@end

.m

@implementation Person

    @synthesize name;

@end

调用

 Person *person = [[Person alloc]init];    person.name = @"guligei";    NSLog(@"\nname:%@",person.name);

打印输出

2014-07-29 18:51:07.267 MS[8884:60b] name:guligei

说明:在写model的时候,会有很多属性 需要实现set,get方法,写起来枯燥,而 Xcode提供了@property和@synthesize属性,编译器会自动帮你加上 getter 和 setter 方法的实现。 PS: 在Xcode4.5及以后的版本中,可以省略@synthesize ,默认会去访问 _name(本例中使用)  这个成员变量,如果找不到 _name这个成员变量,会自动生成一个叫做 _name的私有成员变量。