在Objective-C的类中,我们需要setter方法和getter方法来帮助我们在类的里面或外面存入和读取成员变量。
下面就是一个Book类的setter方法和getter方法
.h文件
#import <Foundation/Foundation.h>
@interface Book : NSObject {
@protected //成员变量 可见度
NSString * _name; //成员变量
}
//setter方法
- (void)setName:(NSString *)name;
//getter方法
- (id)name;
@end
.m文件
<span style="background-color: rgb(204, 204, 204);">#import "Book.h"
@implementation Book
- (void)setName:(NSString *)name {
if (_name != name) { //确定不是set上次同一个对象
[_name release]; //把上次存入对象引用计数器-1
_name = [name retain]; //新存入对象name引用计数器+1 待对象dealloc引用计数器-1
}
}
- (id)name {
return [[_name retain] autorelease]; //返回成员变量_name 在传出保证_name不消失 将引用计数器+1 待用完系统自动释放池autorelease操作将引用计数器-1
}
@end</span>