我是可可新手。 我创建项目,我有一个textField和一个按钮。 我为按钮创建功能,我开始其他功能,没关系。但我需要从textField获取数值作为我的函数的参数...像这样:
@implementation AppController
- (IBAction)StartReconstruction:(id)sender {
int RecLine = //here i need something like textField1.GetIntValue();
drawGL(RecLine);
}
@end
在IB中我只创建数字格式文本字段。但我不知道如何从代码中调用它:(
感谢您的帮助
答案 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
答案 5 :(得分:-1)
NSString * x = self.textfield1.text;
Int recLine = [x intValue];