【发布时间】:2016-02-02 22:08:34
【问题描述】:
我在我的应用程序中使用 JSONModel。是否可以使用 JSONValueTransformer 准备将 nil/null NSString 转换为空字符串 (@"") 的类别。到目前为止,当json响应中的属性为空时,我的对象中的属性变为@“”。
因为整个 API 不是很好(它是外部的),所以我想避免在每个对象中覆盖 initWithDictionary,并且只对每个具有 NSString 属性的 JSONModel 类使用 ValueTransformer,并将其映射到正确的字符串或空字符串(如果为 nil/null)。
【问题讨论】:
-
与其将 API 的响应从
NSNulls 转换为空的@"",不如在您的应用程序中处理nil的情况?在 Obj-C 中使用nil并不是什么新鲜事在我看来,当字符串属性没有值时返回NSNull的 API 是正确的做法。 -
首先,我试图从 ValueTransformer 方面将其作为一个教育问题 - 检查这种方法的可能性。在应用程序中处理它需要检查 [NSString isNotNullOrEmpty] 我在应用程序中使用来自 api 的数据设置的每个标签,相信我这个应用程序真的很大。所以问题是:上述问题是否可能,或者你知道在整个应用程序中处理它而不处理这么多 if() 案例的更好方法吗?
-
是的,当然可以在
NSDictionary或ValueTransformer上放置一个类别,过滤掉NSNull并用@""替换它们。
标签: ios objective-c nsstring jsonmodel