为Core Data属性设置键入强制转换

时间:2010-02-11 03:52:13

标签: core-data casting nsstring attributes nsnumber

我正在尝试设置Core Data属性,但是我遇到了不兼容的类型错误。我在iPhone 3.0上的Core Data实体中有一个float属性。核心数据自动为托管数据对象生成一个接口,该对象提供对它的属性访问:

@property (nonatomic, retain) NSNumber * volume;

及其实施:

@dynamic volume;

我创建了一个托管数据对象的实例,我称之为attrVolume,并使用它来通过Core Data托管对象上下文访问该Core数据实体属性:

[attrVolume setVolume:[txtVolume.text floatValue]];

编译错误是:

  

'setVolume:'

的参数1的不兼容类型

任何想法如何转换该值而不会出现编译错误?有没有办法施放给NSNUmber?

任何帮助赞赏//:)

1 个答案:

答案 0 :(得分:5)

-floatValue返回float类型的值。然后,您尝试设置volume的值,该值为NSNumber的{​​{1}}值,该值失败。

您需要根据字符串的浮点值创建float并将其分配给NSNumber

volume