RestKit值转换器validation块未被调用
我正在使用RestKit(最新版本0.23.1),我已经定义了一个string值到数字字段之间的自定义转换器,如下所示:
mapping.valueTransformer = [RKBlockValueTransformer valueTransformerWithValidationBlock:^BOOL(__unsafe_unretained Class inputValueClass, __unsafe_unretained Class outputValueClass) { return [inputValueClass isSubclassOfClass:[NSString class]]; } transformationBlock:^BOOL(id inputValue, __autoreleasing id *outputValue, __unsafe_unretained Class outputClass, NSError *__autoreleasing *error) { if (![inputValue isKindOfClass:[NSString class]]) { return NO; } // conversion logic follows... return YES; }];
转换工作正常,但是validation块没有被调用(我已经设置了一个断点来validation),这迫使我在transformationBlock中检查inputValue确实是NSString的一个实例。
为什么validation块没有被调用,我做错了什么? 我在RestKit GitHub页面找不到任何问题。
您正在将变压器直接设置到映射上,并将其作为唯一的变压器,因此假定它始终适用。
您希望将转换器设置为RKCompoundValueTransformer
(使用defaultValueTransformer
和您的自定义转换器),因为它在应用转换之前执行validation。
- 如何创build一个可被SpringBoard或越狱iPhone中的其他应用程序访问的全局环境variables?
- 将iOS Core Data添加到现有项目 – 解包可选值时发生错误
- 发布到朋友墙Facebook iOS SDK 3.1
- XCode 4.2链接器错误库未find-lFlurryAnalytics
- 从故事板中的UIViewController加载一个UIView不起作用
- Swift – 从远端URL下载video并保存在相册中
- 如何在iOS / iPhone / iPad上获得WiFi加密模式?
- Firebase UI Auth Provider iOS Swift示例
- 如果在通知初始化后更新结果,如何使用领域通知?