iOS懒加载重写getter setter 以及报错Use of undeclared identifier '_XXXX'
@property (nonatomic,copy)NSString * lazyStr;
getter:
- (NSString *)lazyStr{
if (!_lazyStr) {
NSLog(@"%@",_lazyStr);
_lazyStr = @"123";
NSLog(@"%@",_lazyStr);
}
return _lazyStr;
}
setter:
-(void)setLazyStr:(NSString *)lazyStr{
if (_lazyStr != lazyStr) {
_lazyStr = lazyStr;
}
}
同时重写setter和getter方法报错Use of undeclared identifier '_XXXX'
原因:因为重写setter和getter系统不会自动帮你生成_xxxx的变量,所以需要声明一句
@implementation ViewController
@synthesize lazyStr =_lazyStr;
注:这句的意思就是把属性的存取方法作用于变量;