是否可以将NSDictionary强制转换为具有匹配属性的对象?

时间:2013-07-02 19:05:16

标签: objective-c cocoa casting nsdictionary

是否可以将NSDictionary转换为具有匹配属性的对象?例如,假设我有NSDictionary

@{@"custId" :  @(101)
  @"custName" : @"Joe"
  @"custAddress" : @"1 Main St"}

如果我使用属性CustModelcustIdcustName定义了custAddress类,是否有办法将它们从{{1}转换出来或者我是否需要将每个属性单独移动到NSDictionary对象?

1 个答案:

答案 0 :(得分:8)

你不能只是转换对象,但你可以使用KVC并在对象上调用setValuesForKeysWithDictionary:(你必须实例化它)并提供字典,它将为你完成所有工作。


对于您的其他问题,有2个选项:

  1. 实施setValue:forUndefinedKey:以忽略或映射
  2. 修剪字典以删除无效密钥