我有一個核心數據實體,其中包含一個NSDecimalNumber
屬性值。對於此屬性,實體的類具有使用NSDecimalNumber
作爲參數定義的方法。在IB中顯示NSDecimalNumber作爲貨幣
在界面生成器中,我將一個表列綁定到此屬性(使用NSArrayController
),並在列的單元格上放置了一個NSNumberFormatter
。格式化程序在IB中被配置爲「貨幣」。
現在,當我嘗試輸入一個數字,我收到以下錯誤:
-[NSCFNumber decimalNumberBySubtracting:]: unrecognized selector sent to instance 0x1001d5590
顯然,我的setter方法正在接受定期NSNumber
而非NSDecimalNumber
。我可以以不同的方式配置我的格式化程序,也許使用代碼而不是IB,或者是以NSNumber
作爲參數添加額外setter的唯一選項?
如果模型中的屬性類型是十進制數,則生成的對象將是NSDecimalNumber。 – JeremyP 2011-03-06 11:30:45
我剛剛創建了一個新項目,我在其中創建了一個帶有小數屬性的實體。然後我創建了一個帶有表格的接口,並將一個列+格式化程序綁定到該值。結果:1.我綁定到插座的NSNumberFormatter返回NO到generatedDecimalNumber; 2.如果我從屬性值中請求類,我得到NSDecimalNumber,使用以下代碼: NSLog(@「amount class =%@」,[[obj amount] class]); – nephilim 2011-03-07 18:03:00