如何在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;
答案 0 :(得分:4)
NSNumberFormatterDecimalStyle
预计会出现十进制数。如果它没有在你传递的字符串中找到一个,它将不会返回任何内容。
电话号码可以包含任意数量的空格,连字符,加号,括号,井号。您应该将它们存储为NSString
。
如果你的其他要求是真正的号码,我建议你先在文本字段中附上一个数字格式器来验证你的输入(并且连接了相应的键盘类型),然后使用intValue
方法在文本字段的文本:
NSNumber *number = [NSNumber numberWithInt:[textField.text intValue]];