Mantle 是否已将 JSON 中的 int 值 0 和 1 转换为 Objective-C BOOL 值?
我有一个模型:
@interface MyModel : MTLModel
@property (nonatomic, readonly) BOOL isValid;
@end
假设 JSON 是:
{ is_valid: 0 } OR { is_valid: 1 }
我想知道 Mantle 是否会自动转换is_valid
要执行 Objective-C BOOL 值,我必须明确提及以下内容:
+ (NSValueTransformer)isValidJSONTransfermer {
return [NSValueTransformer mtl_valueMappingTransformerWithDictionary:@{@(0) : @(NO),
@(1) : @(YES)}];
}
是的,这是为您处理的;您不需要使用映射转换器。
地幔内部调用setValue:forKey: https://developer.apple.com/library/mac/documentation/cocoa/reference/foundation/Protocols/NSKeyValueCoding_Protocol/Reference/Reference.html#//apple_ref/occ/instm/NSObject/setValue%3aforKey%3a设置值。 0 或 1 将是NSNumber
, and setValue:forKey:
将使用boolValue
on NSNumber
获得一个值,因为您的财产被声明为BOOL
.
键值编码的这种行为如下所述标量和结构支持 https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Conceptual/KeyValueCoding/Articles/DataTypes.html#//apple_ref/doc/uid/20002171-BAJEAIEE.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)