RestKit和整数的核心数据数组

时间:2012-06-22 19:38:23

标签: iphone ios json core-data restkit

我的核心数据模型中有一个整数数组。它被设置为Transformable。

我从服务器返回的JSON以下列格式给出了这个数字列表:

{ "numbers": [10, 3, 2], "name": "John Smith" }

我按如下方式配置对象映射:

[dataMapping mapKeyPath:@"numbers" toAttribute:@"numberList"];
[dataMapping mapKeyPath:@"name" toAttribute:@"fullName"];

fullName是一个字符串没问题。

但是,在加载对象后,numberList保持为null(所有常规参数都可以正常加载)。我在网上环顾四周,但不知道该找什么。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

这听起来像是你的价值转换器的问题。试试这个并告诉我它是否有效。这是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

答案 1 :(得分:0)

当我处理了json时,预期的keyPath就像你的例子中的“data.numbers”。

换句话说,json结果中的第一项仍然很重要。