我让MyModel继承了MTLModel (使用GitHub Mantle荚)。MyModel.h
@interface MyModel : MTLModel <MTLJSONSerializing>
@property (nonatomic, assign, readonly) BOOL *nsfw;
@end在MyModel.m中,我尝试过
+ (NSValueTransformer *)nsfwJSONTransformer {
return [NSValueTransformer valueTransformerForName:MTLBooleanValueTransformerName];
}和
+ (NSValueTransformer *)nsfwJSONTransformer {
return [NSValueTransformer mtl_valueMappingTransformerWithDictionary:@{
@"0": @(NO),
@"1": @(YES)
}];
}都不工作
并使用Charles字段响应JSON数据,截图如下所示。
同时,在字典序列化中,相关字段是
nsfw = 0
此外,在这里中进行断点调试的结果
这不是我所期望的,我认为应该是这样的nsfw = false
我觉得有什么不对劲..。
,所以这是否意味着布尔值通过序列化变成了NSNumber?
我该怎么做才能解决这个问题?
任何建议或建议都很感谢~
发布于 2017-03-13 03:51:12
您可能通过看这个相关的问题知道,Mantle已经将JSON中的int值0和1转换为Objective值。
我认为你的问题归结为一个简单的错误。
而不是:
@property (nonatomic, assign, readonly) BOOL *nsfw;这是一个指针。
做:
@property (nonatomic, assign, readonly) BOOL nsfw;这是曼特尔知道要转换成的C类型。
https://stackoverflow.com/questions/42752257
复制相似问题