我想解析XML来填充符合KVC的对象,但是,我的解析器非常笨拙,它只是从XML属性/标记组装NSStrings并尝试通过KVC设置它们。强制KVC类型
这适用于实际的字符串和数字(我相信),但我还需要设置日期。问题很明显,解析器不知道字符串表示日期,并且试图使用vanilla KVC调用坐在它上面 - 之后KVC框架会抱怨类型不匹配(在日期字段中设置字符串)。
是否有一种编程方式将'拦截'到KVC框架中,以便我可以更改正在设置的数据(通过NSDateFormatter运行日期字符串)?
我可以在解析器中添加一些智能,但在这样做之前,有没有其他这种类型的问题的知名解决方案?
+1我想我可能更喜欢使用验证来回答我的问题。如果有几个需要强制的属性,它肯定会使代码更加整洁。 – paulbailey 2011-03-17 20:46:42
我看到了这个功能......但没有发现我实际上可以替换这个对象。好的电话。它也似乎是在现场级别实施,即:没有字段名称比较/查找(验证:错误:)我需要管理我正在替换的对象的内存吗?我敢打赌,我需要autorelease新的NSDate ...特别是如果它被设置(非原子,保留)财产。唯一的另一个问题是,这个领域的一些集合可能不需要转换为日期(他们已经是)。我会试着模拟一个性能测试。再次感谢! –
2011-03-17 21:28:46