如何将UITextField的值转换为NSNumber?

问题描述:

我有一个iPhone SDK的小问题。我有4个值在我的xib中,4 UITextField s我插入主机名,描述,名称和端口。
该港口是NSNumber。我必须将文本(UITextField)转换为NSNumber,但我不知道如何。 我试过以下:如何将UITextField的值转换为NSNumber?

NSNumber *temp = [[NSNumber alloc] initWithString:portTextField.text]; 
serverObj.port = temp; 

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

没有方法为NSNumber对象调用initWithString :(这就是为什么你的应用程序崩溃)。您需要使用NSNumberFormatter的方法numberFromString:

只需使用NSString的 'integerValue' 的方法,以获得 'NSInteger的'。然后你可以从中创建一个NSNumber对象。

serverObj.port = [ NSNumber numberWithInteger: [ portTextField.text integerValue ] ]; 
+0

感谢大家! – Crowley 2010-07-06 09:43:38

NSNumberFormatter * f = [[NSNumberFormatter alloc] init]; 
[f setNumberStyle:NSNumberFormatterDecimalStyle]; 
NSNumber * myNumber = [f numberFromString:textField.text]; 
[f release]; 

,并应把工作做好。

+0

它的工作原理,thx! :) – Crowley 2010-07-06 09:43:22

+0

只需确保点击复选标记按钮将其标记为答案:) – 2010-07-06 14:09:08