遇到了一个类似的例子,记录一下
//放在.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