【发布时间】:2016-02-15 09:24:19
【问题描述】:
我正在寻找一种方法来检查任意值是否与给定属性兼容。
如果尝试将NSNumber 设置为firstName,而NSString 应为预期,则会引发此异常:
Fatal Exception: NSInvalidArgumentException
Unacceptable type of value for attribute: property = "name"; desired type = NSString; given type = __NSCFNumber;
当处理动态且可能是错误的数据时,例如从服务接收JSON 时,我想在运行时检查该值是否兼容。对于属性类型和值的所有组合,是否有任何简单而稳定的方法来执行此操作?
【问题讨论】:
-
你能举一个更具体的例子吗?您是在运行时获取动态数据,还是不想在编译/设计时处理类型一致性?
-
您可以检查核心数据实体 NSEntityDescription,比较 stackoverflow.com/questions/23565073/…。
-
@vadian,我在运行时获取动态数据并希望忽略无效数据,而不是崩溃。我确实想要类型一致性。
-
如果是数字/字符串示例,其中需要字符串,请使用字符串插值
"\(value)"