Spa*_*nky 2 attributes casting core-data nsnumber nsstring
我正在尝试设置Core Data属性,但是我遇到了不兼容的类型错误.我在iPhone 3.0上的Core Data实体中有一个float属性.Core Data自动为托管数据对象生成一个接口,该对象提供对它的属性访问:
@property (nonatomic, retain) NSNumber * volume;
Run Code Online (Sandbox Code Playgroud)
并为其实施:
@dynamic volume;
Run Code Online (Sandbox Code Playgroud)
我创建了一个托管数据对象的实例,我称之为attrVolume,并使用它来通过Core Data托管对象上下文访问该Core数据实体属性:
[attrVolume setVolume:[txtVolume.text floatValue]];
Run Code Online (Sandbox Code Playgroud)
编译错误是:
'setVolume:'参数1的不兼容类型
任何想法如何转换该值而不是编译错误?有没有办法施放给NSNUmber?
任何帮助赞赏// :)
-floatValue返回type的值float.然后,您尝试设置值volume,NSNumber该float值为a,该值失败.
您需要NSNumber从字符串的浮点值创建一个并将其分配给volume:
NSNumber* volNum = [NSNumber numberWithFloat:[textVolume.text floatValue]];
[attrVolume setVolume:volNum];
Run Code Online (Sandbox Code Playgroud)