我定义了一个Objective-C类:
@interface MyRequest : NSObject
@property (strong, nonatomic, readonly) NSDecimalNumber *myNumber;
@property (strong, nonatomic, readonly) CommConfig *commConfig;
@property (nonatomic, assign, readonly) BOOL debug;
如何使commConfig
成为静态变量?当我使用'班级'关键字,编译器给我以下警告:
Class property' commConfig'需要方法' commConfig'要定义 - 使用@dynamic或在此类实现中提供方法实现
构造函数不再识别这一行:
_commConfig = commConfig
答案 0 :(得分:1)
如果程序员实例没有实现,则编译器会自动实现属性 - 分配的实例变量和写入的getter和/或setter方法。类属性永远不会自动实现,因此您需要声明静态支持变量并定义getter。在@implementation
添加:
static CommConfig *_commConfig;
+ (CommConfig *) commConfig { return _commConfig; }
您可以根据需要调用支持,例如遵循全局/静态变量的命名约定。
HTH