2010-07-12 56 views
0

我有一個UILabel,我需要從整數中獲取值,所以我可以將它保存到我的核心數據對象,但我不斷收到此錯誤,在這一點失敗。傳遞'setQuantity:'的參數1使得整型指針沒有轉換

PurchaseOrderItem *newPOItem = (PurchaseOrderItem*) [NSEntityDescription insertNewObjectForEntityForName:@"PurchaseOrderItem" inManagedObjectContext:managedObjectContext]; 
      int qty = [qtyTextField.text integerValue]; 
      [newPOItem setProductName:productName.text]; 
      [newPOItem setDescription:productDescription.text]; 
      [newPOItem setPrice:[NSDecimalNumber decimalNumberWithString: retailPrice.text]]; 
      [newPOItem setQuantity:qty]; 
      [newPOItem setPurchaseorder:newEntity];           

      if (![managedObjectContext save:&error]) { 
       // Handle the error. 
       NSLog(@"%@",error); 
      } 

編輯: 這是我最終的解決方案 - 似乎完全荒謬的,但它的工作原理:

NSDecimalNumber *price = [NSDecimalNumber decimalNumberWithString: [retailPrice.text stringByReplacingOccurrencesOfString:@"$" withString:@""]]; 
NSNumber *qty = [NSNumber numberWithInt: [qtyTextField.text integerValue]]; 
NSDecimalNumber *itemSubTotal =[price decimalNumberByMultiplyingBy:[NSDecimalNumber decimalNumberWithDecimal:[qty decimalValue]]]; 

回答

3

我願意打賭的PurchaseOrderItem數量屬性declarated爲NSNumberNSInteger。如果是這樣的話,你需要做類似下面的內容:

[newPOItem setQuantity: [NSNumber numberWithInt: qty]]; 
+0

就是這樣,人的學習所有的不同的方式處理字符串和數字工作是Objective-C的困惑 - 謝謝! – Slee 2010-07-12 21:49:10

+0

現在我有一個NSDecimalNumber和一個NSNumber,我需要將這兩個想法相乘? – Slee 2010-07-12 21:52:09

+0

我對NSDecimalNumber不熟悉。是否有一個原因,而不是使用浮動的NSNumber?如果你使用NSNumbers,你可以這樣做: NSNumber結果= [NSNumber numberWithFloat:[a floatValue] * [b floatValue]]; – 2010-07-12 22:04:43

相關問題