遇到了一個類似的例子,記錄一下
//放在.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