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]]];
그 것이 었습니다. 문자열과 숫자로 작업하는 다양한 방법을 모두 배우는 사람은 혼란 스럽습니다. -c - 감사합니다! – Slee
지금은 NSDecimalNumber와 NSNumber가 있고 그 2 - 생각을 곱해야합니까? – Slee
NSDecimalNumber에 익숙하지 않습니다. NSNumber 대신에 수레를 사용하는 이유가 있습니까? NSNumber를 사용했다면 다음과 같이하면됩니다 : NSNumber 결과 = [NSNumber numberWithFloat : [a floatValue] * [b floatValue]]; –