NSStepper不会更改两个值

时间:2011-11-09 04:05:03

标签: objective-c

以下是我班级的当前代码......

@interface Stat : NSObject {
@private
    IBOutlet NSTextField *value;
    IBOutlet NSTextField *modValue;
    IBOutlet NSStepper *stepper;
}

-(IBAction)setValue:(id)sender;

@end

@implementation Stat

- (id)init
{
    self = [super init];
    if (self) {
        // Initialization code here.
    }

    return self;
}

- (void)dealloc
{
    [super dealloc];
}

-(IBAction)setValue:(id)sender
{
    [value setIntValue:([sender intValue])];
    [modValue setIntValue:(round(([sender intValue]/2)-5))];
}

@end

stepper,value文本框和modValue文本框都链接到它们对应的变量,步进器链接到setValue函数。但是,当我使用步进器时,只有modValue文本中的文本会发生变化。有人可以帮忙吗?如果您需要更多代码/信息,我可以提供。

编辑:也。如果您有解决方案,请解释一下吗?我已经用Java和C#编写了很长时间,但是Obj-C给了我一个挑战。到目前为止,我喜欢它。 :)

2 个答案:

答案 0 :(得分:0)

编辑:很可能是Interface Builder中的某个插座没有正确设置。检查以确保IB中的两个NSTextField都连接到Xcode中的正确插座。

答案 1 :(得分:0)

根据文件,

"当值发生变化时,步进器会将 UIControlEventValueChanged 标志发送到其目标(请参阅addTarget:action:forControlEvents :)。有关是否连续发送值更改事件或用户交互何时结束的信息,请参阅连续属性的说明。"

因此,您将UIStepper IBAction的状态设置为 UIControlEventValueChanged