iOS 重写get和set方法

使用@property指令,编译器会自动生成setter和getter,单独重写getter或setter,不会出现异常,但同时重写getter和setter,则会报错。

原因:同时重写getter和setter方法,系统就不会自动生成_propertyName变量,所以报错。

解决方案:添加@synthesize propertyName = _propertyName;

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic,strong)NSMutableArray *dataArr;
@end

@implementation ViewController
@synthesize dataArr = _dataArr;

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}

-(NSMutableArray *)dataArr{
    if (!_dataArr) {
        _dataArr = [NSMutableArray array];
    }

    return _dataArr;
}

-(void)setDataArr:(NSMutableArray *)dataArr{
    if (_dataArr != dataArr) {
        _dataArr = dataArr;
    }
}

@end
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容