如何将UITextField的值转换为NSNumber?

Cro*_*ley 2 iphone cocoa-touch

我对iPhone SDK有一个小问题.我的xib有4个值,4 UITextFields我插入主机名,描述,名称和PORT.
港口是一个NSNumber.我必须将文本(UITextField)转换为NSNumber但我不知道如何.我尝试了以下方法:

NSNumber *temp = [[NSNumber alloc] initWithString:portTextField.text];
serverObj.port = temp;
Run Code Online (Sandbox Code Playgroud)

但我的应用程序崩溃了.我没有问题NSString(描述ecc.)

Mat*_* S. 10

NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:textField.text];
[f release];
Run Code Online (Sandbox Code Playgroud)

这应该完成工作.


Mac*_*ade 6

只需使用NSString 的' integerValue '方法,即可获得' NSInteger '.然后,您可以从中创建NSNumber对象.

serverObj.port = [ NSNumber numberWithInteger: [ portTextField.text integerValue ] ];
Run Code Online (Sandbox Code Playgroud)