2

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

@property (nonatomic, retain) NSNumber * volume;

及其实现:

@dynamic volume;

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

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

编译错误是:

'setVolume:' 的参数 1 的类型不兼容

任何想法如何转换该值而不是得到该编译错误?有没有办法投射到 NSNUmber?

任何帮助表示赞赏// :)

4

1 回答 1

5

-floatValue返回一个类型的值float。然后,您尝试将 的值设置为该值volume,但NSNumberfloat值失败。

您需要NSNumber从字符串的浮点值创建一个并将其分配给volume

NSNumber* volNum = [NSNumber numberWithFloat:[textVolume.text floatValue]];
[attrVolume setVolume:volNum];
于 2010-02-11T04:08:34.860 回答