可可坚持coviewata NSNumber从tableview无法正常工作

时间:2013-07-04 16:22:39

标签: objective-c xcode core-data data-binding tableview

我无法通过绑定的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! 任何人都可以对此有所了解吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

正如自定义价值变形金刚(Value Transformer Programming Guide)

的文档中所述
  

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

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

由于您正在将 NSString 转换为 NSNumber,我想您会想要交换transformedValue:的实现{1}}和reverseTransformedValue:方法。