コードを少し最適化しようとしていますが、入力価格をCore Data
エンティティに保存するこの部分を見ていましたが、間違っている/非効率的だと感じています。
NSNumberFormatter *priceFormatter = [[NSNumberFormatter alloc] init];
[priceFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
myEntity.price = (NSDecimalNumber *)[priceFormatter numberFromString:self.priceField.text];
ここで私が実際に行っていると思うのNSNumberFormatter
は、10 進スタイルを持つ を作成することです (明らかに価格に必要です。テキスト フィールドには 2.00 ではなく 2 が入力される可能性があるため、ある程度必要です)。それを使用しNSNumberFormatter
て値を入力します。テキストフィールドからNSDecimalNumber
キャスト経由で。フォーム 2.00 に 2 を取得したい理由は、エンティティを読み込んでアプリに表示するときに、それを実行しないようにするためです。また、テキスト フィールドはテキスト フィールドを規制して、小数点以下 2 桁を超えないようにするなど、そのビットについて心配する必要はありません。
このコードは効率的ですか? これを行うより良い方法はありますか?これも必要ですか?