保存NSNumber核心数据

时间:2011-09-12 11:03:41

标签: ios

如何在UITextField的核心数据中保存一个数字,我知道它的东西很愚蠢,但它很烦人,我无法绕过它!

我现在正在做这件事而且我一直都是空的

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;

1 个答案:

答案 0 :(得分:4)

NSNumberFormatterDecimalStyle预计会出现十进制数。如果它没有在你传递的字符串中找到一个,它将不会返回任何内容。

电话号码可以包含任意数量的空格,连字符,加号,括号,井号。您应该将它们存储为NSString

如果你的其他要求是真正的号码,我建议你先在文本字段中附上一个数字格式器来验证你的输入(并且连接了相应的键盘类型),然后使用intValue方法在文本字段的文本:

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