使用文本字段设置变量的值
Use a text field to set the value of a variable
我的 XIB 中有几个 NSTextFields。我为我的一个文本字段创建了操作,它看起来像
- (IBAction)setXPos:(id)sender;
在我的 AppDelegate.h 文件中,我还创建了一个名为 XPos
的 int
。在我的 AppDelegate.m 文件中,我无法将 XPos 的值设置为我在文本字段中键入的值。这里有什么帮助吗?我需要做一个
@property
在我的 AppDelegate.h 中?我当前的代码如下所示:
XPos = sender;
但是它出错了。
这很简单。在您的 .h 文件中:
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
IBOutlet NSTextField *xPosTextBox;
}
- (IBAction)setXPos:(id)sender;
确保将两者都连接到 IB 中的 NSTextField。对于下一步,我假设您在文本框中有一个数字格式化程序并且 xPos 是一个双精度数。在 applicationDidFinishLaunching:
[[xPosTextBox formatter] setFormat:@"##0.000"];
[xPosTextBox setDoubleValue:myInitialValue];
然后在你的 AppDelegate 代码的某处添加一个方法:
- (IBAction)setXPos:(id)sender
{
xPos = [xPosTextBox doubleValue];
}
简单。
如果您在 applicationDidFinishLaunching 中有浮动:
[[xPosTextBox formatter] setFormat:@"##0.000"];
[xPosTextBox setFloatValue:myInitialValue];
然后是IBAction方法:
- (IBAction)setXPos:(id)sender
{
xPos = [xPosTextBox floatValue];
}
如果您有一个 int(或 NSInteger),则不需要数字格式化程序,因此在 applicationDidFinishLaunching:
[xPosTextBox setIntValue:myInitialValue];
// [xPosTextBox setIntegerValue:myInitialValue]; for NSInteger
然后是IBAction方法:
- (IBAction)setXPos:(id)sender
{
xPos = [xPosTextBox intValue];
// xPos = [xPosTextBox integerValue]; for NSInteger
}
我的 XIB 中有几个 NSTextFields。我为我的一个文本字段创建了操作,它看起来像
- (IBAction)setXPos:(id)sender;
在我的 AppDelegate.h 文件中,我还创建了一个名为 XPos
的 int
。在我的 AppDelegate.m 文件中,我无法将 XPos 的值设置为我在文本字段中键入的值。这里有什么帮助吗?我需要做一个
@property
在我的 AppDelegate.h 中?我当前的代码如下所示:
XPos = sender;
但是它出错了。
这很简单。在您的 .h 文件中:
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
IBOutlet NSTextField *xPosTextBox;
}
- (IBAction)setXPos:(id)sender;
确保将两者都连接到 IB 中的 NSTextField。对于下一步,我假设您在文本框中有一个数字格式化程序并且 xPos 是一个双精度数。在 applicationDidFinishLaunching:
[[xPosTextBox formatter] setFormat:@"##0.000"];
[xPosTextBox setDoubleValue:myInitialValue];
然后在你的 AppDelegate 代码的某处添加一个方法:
- (IBAction)setXPos:(id)sender
{
xPos = [xPosTextBox doubleValue];
}
简单。
如果您在 applicationDidFinishLaunching 中有浮动:
[[xPosTextBox formatter] setFormat:@"##0.000"];
[xPosTextBox setFloatValue:myInitialValue];
然后是IBAction方法:
- (IBAction)setXPos:(id)sender
{
xPos = [xPosTextBox floatValue];
}
如果您有一个 int(或 NSInteger),则不需要数字格式化程序,因此在 applicationDidFinishLaunching:
[xPosTextBox setIntValue:myInitialValue];
// [xPosTextBox setIntegerValue:myInitialValue]; for NSInteger
然后是IBAction方法:
- (IBAction)setXPos:(id)sender
{
xPos = [xPosTextBox intValue];
// xPos = [xPosTextBox integerValue]; for NSInteger
}