对象属性Setter&Getter方法为+

最近看一下gitHub的代码,发现 SJFullscreenPopGesture的框架,有个很特别的地方

声明一个类,声明了这个类的属性,一般我们重写某个属性的Setter & Getter ,都是 -开头,但是他是用+

/// .h文件

@interface PersonEntity : NSObject

@property (nonatomic,class) NSInteger age;
@property (nonatomic,class) NSString *titleName;
@end

目前我还不知道 property 为什么用class来修饰

/// .m文件
static NSInteger _age = 1;
+ (void)setAge:(NSInteger)age {
    _age = age;
}

+ (NSInteger)age {
    return _age;
}

static NSString *_titleName = @"";
+ (void)setTitleName:(NSString *)titleName {
    _titleName = titleName;
}

+ (NSString *)titleName {
    return _titleName;
}
/// 测试代码

    PersonEntity.age = 10;
    PersonEntity.age = 19;
    NSInteger num = PersonEntity.age;
    NSLog(@"%ld",num); /// num输出为 19
    
    PersonEntity.titleName = @"EdenChow";
    PersonEntity.titleName = @"EdenChow2";
    NSString *title = PersonEntity.titleName;
    NSLog(@"%@",title);  /// title输出为 EdenChow2

你可能感兴趣的:(对象属性Setter&Getter方法为+)