Objective-C - 使用基于字典的默认值初始化对象

时间:2015-08-14 08:12:56

标签: objective-c dictionary

我有一个预定义值字典:

 UID | minVal | maxVal
-----------------------
 DAB |  1000  |  2000
 ECB |  -500  |  3000

和一个班级

interface MCProperty : NSObject
@property(...) NSString *uid;
@property(...) NSNumber *minVal;
@property(...) NSNumber *maxVal;
@end

现在,当我创建MCProperty对象时,即:

MCProperty property = [[MCProperty alloc] initWithString:@"DAB"];

我希望根据字典将 minVal 设置为 1000 ,将 maxVal 设置为 2000 。我怎么能做到这一点?

PS。我应该如何存储“字典”(在类中定义常量,NSArray等)?

1 个答案:

答案 0 :(得分:0)

如果可以,请查看使用setValuesForKeysWithDictionary:,因为这是最少的代码量。它要求字典键与属性名称匹配。

如果你不能,那么你需要在字典键和属性之间使用一些映射逻辑。将其添加到类的方法中,称为configureWithDictionary(或类似),并在尽可能最严格的位置定义常量。