2011-09-12 21 views
0

コアデータ内の数値をUITextFieldから保存するにはどうすればよいですか?NSNumberコアデータを保存する

イム今、この権利を行っていると私はヌルに

NSLog(@"SaveData(CLIENT)"); 
[self dismissKeyboard]; 
Client *client = (Client *)[NSEntityDescription insertNewObjectForEntityForName:@"Client" inManagedObjectContext:managedObjectContext]; 

client.dayOfService = dayOfServiceTextField.text; 
client.clientName = clientNameTextField.text; 
client.typeOfClient = typeofClientTextField.text; 
client.addressLine1 = addressln1TextField.text; 
client.addressLine2 = addressln2TextField.text; 
client.idCardNumber = idcardNumberTextField.text; 


telephoneTextField.text = telephoneNumber; 
NSNumberFormatter * f1 = [[NSNumberFormatter alloc] init]; 
[f1 setNumberStyle:NSNumberFormatterDecimalStyle]; 
NSNumber * parsedTelephone = [f1 numberFromString:telephoneNumber]; 
NSLog(@"%@",parsedTelephone); 

[f1 release]; 

client.telephone = parsedTelephone; 
+0

「NSLog」ステートメントには何が表示されますか?そしてなぜあなたは電話番号を小数として保管していますか? – jrturton

+0

私は解析された数字を見るはずですが、私はそれをどうやってコアデータに保存することをお勧めしますか? –

答えて

4

NSNumberFormatterDecimalStyleを得続ける10進数を期待する予定です。あなたが渡す文字列の中に文字列が見つからなければ、何も返しません。

電話番号には、任意の数のスペース、ハイフン、プラス記号、かっこ、ハッシュ記号を入れることができます。それらはNSStringとして保存する必要があります。

本物の番号が必要な場合は、最初にテキストフィールドに数値フォーマッタを付けて入力を検証し(適切なキーボードタイプを接続してください)、テキストのintValueメソッドを使用することをおすすめしますフィールドのテキスト:

NSNumber *number = [NSNumber numberWithInt:[textField.text intValue]]; 
+0

ありがとう!私はそれをしますが、私はNSNumberでなければならない別のプロパティを持っています、どうやってそれを回しますか? –

+0

更新された回答を表示 – jrturton

関連する問題