2010-02-11 95 views
2

我想設置一個核心數據屬性,但獲取不兼容的類型錯誤。我在iPhone 3.0上的Core Data實體中有一個float屬性。核心數據自動生成用於管理的數據對象,它提供給它屬性訪問的接口:核心數據屬性設置的類型轉換

@property (nonatomic, retain) NSNumber * volume; 

和用於它的實現:

@dynamic volume; 

創建被管理的數據對象,的一個實例,其我打電話attrVolume,並使用通過核心數據訪問核心數據實體的屬性管理對象上下文:

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

的編譯錯誤是:

不兼容類型的參數1「setVolume:」

任何想法如何施放該值並不會得到編譯錯誤?有沒有辦法投射到NSNUmber?

任何幫助理解// :)

回答

5

-floatValue返回float類型的值。然後,您嘗試設置volume的值,該值爲NSNumber,此值爲float,失敗。

您需要創建從您的字符串的浮點值的NSNumber並將其賦值給volume

NSNumber* volNum = [NSNumber numberWithFloat:[textVolume.text floatValue]]; 
[attrVolume setVolume:volNum]; 
+0

這偉大工程!謝謝 //:) – Spanky 2010-02-11 04:38:59