代码之家  ›  专栏  ›  技术社区  ›  RonLugge

如何强制restkit将数组解析为NSNumbers或NSString?

  •  1
  • RonLugge  · 技术社区  · 10 年前

    我的应用程序正在使用RESTKit解析服务器端数据。在大多数情况下,一切都“正常”,RESTKit能够识别出,即使数据是以数字形式提供的,当它被指定为属性时,也应该将其转换为字符串(或者在某些地方反之亦然)。

    不幸的是,在数组中并没有做到这一点,虽然只需确保服务器始终可靠地发送某些数据类型就足够容易了,但我也想尝试在应用程序中处理它。(“对你排放的东西要保守,对你接受的东西要宽容”等等。)

    我这边的问题是我刚刚映射到一个数组:

    [mapping addAttributeMappingsFromDictionary:@{
                                                  //Other items  ommitted
                                                  @"arrayKey":@"arrayKey",
                                                  }];
    

    实际财产定义为:

    @property (nonatomic, strong) NSMutableArray *palletTags;
    

    有没有办法给restkit提供一个类型提示,让它在这里始终使用字符串(或NSNumbers,或我想到的任何其他东西)?

    1 回复  |  直到 10 年前
        1
  •  1
  •   Wain    10 年前

    不。如果您要求RestKit映射到一个数组,并且接收到的是一个数组则不尝试转换,这只是一个直接赋值。

    一个选项是使用 KVC validation 因为这允许您验证传入的数据,如果需要,在实际设置之前对其进行变异。