RestKit 和核心数据整数数组
Posted
技术标签:
【中文标题】RestKit 和核心数据整数数组【英文标题】:RestKit and Core Data array of Integers 【发布时间】:2012-06-22 19:38:22 【问题描述】:我的核心数据模型中有一个整数数组。它被设置为 Transformable。
我从服务器返回的 JSON 为我提供了以下格式的数字列表:
"numbers": [10, 3, 2], "name": "John Smith"
我如下配置我的对象映射:
[dataMapping mapKeyPath:@"numbers" toAttribute:@"numberList"];
[dataMapping mapKeyPath:@"name" toAttribute:@"fullName"];
fullName 没有问题,它是一个字符串。
但是,加载对象后 numberList 仍然为空(所有常规参数都可以正常加载)。我在网上四处寻找,但不知道要寻找什么。
有什么想法吗?
【问题讨论】:
【参考方案1】:这听起来像是您的价值转换器的问题。试试这个,告诉我它是否有效。这是 ARC 代码。
.h
@interface NSArrayValueTransformer : NSValueTransformer
@end
.m
#import "NSArrayValueTransformer.h"
@implementation NSArrayValueTransformer
+ (BOOL) allowsReverseTransformation
return YES;
+ (Class) transformedValueClass
return [NSData class];
- (id) transformedValue:(id)value
if( !value )
return nil;
if( [value isKindOfClass: [NSData class]] )
return value;
return [NSKeyedArchiver archivedDataWithRootObject: value];
- (id) reverseTransformedValue:(id)value
return [[NSKeyedUnarchiver unarchiveObjectWithData: value] mutableCopy];
@end
【讨论】:
【参考方案2】:当我处理完 json 后,预期的 keyPath 将类似于您示例中的“data.numbers”。
换句话说,json 结果中的第一项仍然很重要。
【讨论】:
我之前的示例不正确我修复了我的问题以使其更清楚。有什么想法吗? 一个可能的建议:numberList 数组在映射之前可能需要为非零但为空。以上是关于RestKit 和核心数据整数数组的主要内容,如果未能解决你的问题,请参考以下文章