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