从textField获取int

时间:2011-02-01 22:43:29

标签: objective-c cocoa macos

我是可可新手。 我创建项目,我有一个textField和一个按钮。 我为按钮创建功能,我开始其他功能,没关系。但我需要从textField获取数值作为我的函数的参数...像这样:

@implementation AppController

- (IBAction)StartReconstruction:(id)sender {
    int RecLine = //here i need something like textField1.GetIntValue();
    drawGL(RecLine);
}
@end

在IB中我只创建数字格式文本字段。但我不知道如何从代码中调用它:(

感谢您的帮助

6 个答案:

答案 0 :(得分:3)

您是否已将代码与IB之间的文本字段连接起来?您需要在@interface声明中定义ivar和property,如下所示:

@interface BlahBlah {
    UITextField *textField1;
}
@property (nonatomic, retain) IBOutlet UITextField *textField1;


...
@end

在您宣布您的ivar并将其连接到IB中的文本框(搜索谷歌以了解如何)之后,您只需致电

[textField1.text intValue];

获取文本框中字符串的整数值(请注意,这很快,很脏并且不验证输入)。

答案 1 :(得分:2)

您不必先获取文本值。 NSTextField继承自具有intValue方法的NSControl,所以......

-(IBAction)buttonClicked:(id)sender
{
    int intVal = [textField intValue];
    NSLog (@"Int value is %i", intVal);
}

答案 2 :(得分:1)

您是否为文本字段创建了IBOutlet,以便在Interface Builder中进行连接?如果没有,那么您需要将一个文本字段实例添加到头文件中,并使其成为合成属性。在标题中:

@interface AppController
{
    NSTextField *myTextField;
}

@property (nonatomic, retain) IBOutlet NSTextField *myTextField;

在您的实施中:

@synthesize myTextField;

然后在IB中,按住Control键并单击从文本字段拖动到“文件所有者”。将出现一个弹出菜单,您应该能够将其连接到“myTextField”。

要获得int值,您应该能够:

[myTextField.stringValue intValue]

答案 3 :(得分:0)

你应该可以这样做:


int RecLine = [textField1.text intValue];

这假设你的textField1有一些可以转换为整数的东西。

答案 4 :(得分:-1)

要使用属性,您需要将项目的基本SDK更改为OS X 10.5或更高版本。检查此菜单:

Project > Edit Project Settings > Build > Base SDK 

enter image description here

答案 5 :(得分:-1)

NSString * x = self.textfield1.text;

Int recLine = [x intValue];