0

我无法通过绑定的 tableview 和 arrayController 将数值保存到 coredata。我已更改代码以返回硬编码值,当我尝试编辑数字列时它不会崩溃,但不会保留硬编码值:

#import "StringToNumberTransformer.h"

@implementation StringToNumberTransformer

+ (Class)transformedValueClass { return [NSNumber class]; }

+ (BOOL)allowsReverseTransformation { return YES; }

 - (id)transformedValue:(id)value {

   // return (value == nil) ? nil : [NSString stringWithFormat:@"%i", [value shortValue ]];
   //return (value == nil) ? nil : NSStringFromClass([value class]);
     return @"1";
}

- (id)reverseTransformedValue:(id)value {
//    return [value numberFromString:[value stringValue]];
    return [NSNumber numberWithInt:2];
}
    @end

这是xib设置的链接!http://tinypic.com/r/2nty41s/5!任何人都可以对此有所了解吗?

非常感谢

4

1 回答 1

0

如自定义值转换器的文档中所述(值转换器编程指南)

值转换器子类必须实现transformedValueClass 类方法。此方法返回transformValue: 方法返回的对象的类。

因此,您transformedValueClass返回 的类NSNumber,但您的transformedValue:方法返回类型的实例NSString

由于您正在an转换NSString an NSNumber,我想您会想要交换您的transformedValue:reverseTransformedValue:方法的实现。

于 2013-07-04T16:48:18.127 回答