iPhone SDK存在一个小问题。我的xib有4个值,4 UITextField
s我插入主机名,描述,名称和PORT。
端口是NSNumber
。我必须将文本(UITextField)转换为NSNumber
,但我不知道如何。
我尝试了以下方法:
NSNumber *temp = [[NSNumber alloc] initWithString:portTextField.text];
serverObj.port = temp;
但我的应用程序崩溃了。我对NSString
(描述ecc。)
答案 0 :(得分:10)
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * myNumber = [f numberFromString:textField.text];
[f release];
这应该可以完成工作。
答案 1 :(得分:6)
只需使用NSString的' integerValue '方法,即可获得' NSInteger '。然后你可以从它创建一个NSNumber对象。
serverObj.port = [ NSNumber numberWithInteger: [ portTextField.text integerValue ] ];
答案 2 :(得分:3)
没有名为initWithString的NSNumber对象的方法:(这就是你的应用程序崩溃的原因)。您需要使用NSNumberFormatter的方法numberFromString: