iOS - 属性中的class修饰符:


遇到了一个类似的例子,记录一下

//放在.h
@property (class, nonatomic, readonly) NSString *version;
//我们这里用的是readonly 修饰所以我们必须手动实现 其get方法

//外部调用的get方法,相当于其类方法调用 [Class version];
.m
//内部实现的话 可定义一个静态变量
static NSString* _version = @“0.1.1”;

-(NSString *) version {
    return _version;
}

//.h
@property (class, nonatomic) NSString *name;
//.m
static NSString *_name = nil;
//实现set 和 get方法

-(NSString *) name {
    if(_name ==nil) {
        _name = [NSString new];
    }
    return _name;
}

-(void) setName:(NSString*)name {
    if(_name != name) {
        _name = [name copy];
    }
}

 

Objective-C now supports class properties, which interoperate with Swift type properties. They are declared as: @property (class) NSString *someStringProperty;. They are never synthesized. (23891898)

Objective-C现在支持与Swift类型属性进行交互转换的类属性,这些属性永远不会synthesized


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM