伙计们。
如何访问@property
指令生成的变量?我了解到,当我在objective-c课程中使用自己的getter/setter时,前缀_
可以访问。
//Person.h
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property NSInteger age;
// getter
- (NSInteger)age;
// setter
- (void)setAge:(NSInteger)age;
@end
// Person.m
#import "Person.h"
@implementation Person
// getter
- (NSInteger)age {
return _age;
}
// setter
- (void)setAge:(NSInteger)age {
_age = age;
}
@end
但那个代码给了我错误Use of undeclared identifier '_age'
。我该怎么解决?
谢谢!
您应该为ivar添加显式合成,如下
@implementation Person
@synthesize age=_age;