のaskingPriceプロパティmyManagerはNSDecimalNumber、オブジェクトを 10 進数でラップする Cocoa クラスです。Yourは、またはに変換できる をaskingPriceTextField.text与えます。NSStringfloatdouble
したがって、基本的にやりたいことは、テキスト フィールドでNSDecimalNumberを使用して新しいものを作成することです。NSString方法は次のとおりです。
double askingPriceDouble = [self.askingPriceTextField.text doubleValue]; // extract a double from your text field
myManager.askingPrice = [[NSDecimalNumber alloc] initWithDouble:askingPriceDouble]; //create an NSDecimalNumber using your previously extracted double
プロパティをassigned に設定しているため、ここでは alloc-init スキームを使用しています。anNSDecimalNumberはオブジェクトなので ( のような基本型ではないdouble)、必要になる前に割り当てが解除されないように、提示価格がretained であることを確認する必要があります。これを行う別の方法は、次のようにプロパティを宣言することです。
@property(nonatomic, retain) NSDecimalNumber *askingPrice; // Do not forget the '*' sign when declaring object properties as pointers.
その後:
double askingPriceDouble = [self.askingPriceTextField.text doubleValue];
myManager.askingPrice = [NSDecimalNumber numberWithDouble:askingPriceDouble];
設定すると、askingPrice プロパティがretained になるため、これは機能します。
また、テキスト フィールドの内容が実際に double に変換できることを確認することを忘れないでください...