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;  

注:这句的意思就是把属性的存取方法作用于变量;

posted @ 2016-12-13 11:17  Ruby_c  阅读(2487)  评论(0编辑  收藏  举报