Objective c tableview中的数据NSNumber无效
我无法通过绑定的tableview和arrayController将数值保存到coredata。我已更改代码以返回硬编码值,尝试编辑数字列时不会崩溃,但不会保留硬编码值:Objective c tableview中的数据NSNumber无效,objective-c,xcode,core-data,data-binding,tableview,Objective C,Xcode,Core Data,Data Binding,Tableview,我无法通过绑定的tableview和arrayController将数值保存到coredata。我已更改代码以返回硬编码值,尝试编辑数字列时不会崩溃,但不会保留硬编码值: #import "StringToNumberTransformer.h" @implementation StringToNumberTransformer + (Class)transformedValueClass { return [NSNumber class]; } + (BOOL)allowsReverse
#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设置的链接!
有人能解释一下吗
非常感谢文档中所述的定制值转换器( 值转换器子类必须实现transformedValueClass 方法。此方法返回 transformedValue:方法返回 因此,
transformedValueClass
返回NSNumber
的类,但是transformedValue:
方法返回类型为NSString
由于您正在从一个
NSString
转换为一个NSNumber
,我想您应该交换transformedValue:
和reverseTransformedValue:
方法的实现。谢谢,核心数据值是一个NSNumber,所以我认为转换后的值正确地将数字转换为字符串,对吗?我将transformedValueClass更改为NSString。当我在调试模式下运行它时,transformValue方法在检索记录时肯定会运行,因此需要从数字转换为字符串。我不明白为什么它不保存值。您可以截图或显示代码片段以供您使用/配置值转换器吗?当然可以,编辑了文章,但无法显示,这是url