2011-09-12 190 views
0

如何從UITextField中的核心數據中保存一個數字,我知道它的東西很笨,但它的煩人,我不能繞它!保存NSNumber核心數據

IM現在這樣做的,我不斷收到空

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是要期待一個十進制數。如果在你傳遞的字符串中找不到一個,它將不會返回任何內容。

電話號碼可以包含任意數量的空格,連字符,加號,括號和散列符號。您應該將它們存儲爲NSString

如果您的其他要求是針對真正的號碼,我建議您先將一個數字格式化程序附加到文本字段以驗證您的輸入(並且連接到相應的鍵盤類型),然後在文本上使用intValue方法字段的文本:

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

謝謝! ,那麼我會這樣做,但是,我有另一個屬性,必須是NSNumber,你將如何去繞它呢? –

+0

查看更新的答案 – jrturton