Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa NSSlider事件未触发_Cocoa_Macos_Nsslider - Fatal编程技术网

Cocoa NSSlider事件未触发

Cocoa NSSlider事件未触发,cocoa,macos,nsslider,Cocoa,Macos,Nsslider,我的NSSlider上有一个事件,代码如下: - (IBAction)optOndoorzichtigheidChange:(id)sender { NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; NSString *opacity = [NSString stringWithFormat:@"%d",[optOndoorzichtigheidSlider value]]; [defaul

我的NSSlider上有一个事件,代码如下:

- (IBAction)optOndoorzichtigheidChange:(id)sender {
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    NSString *opacity = [NSString stringWithFormat:@"%d",[optOndoorzichtigheidSlider value]];
    [defaults setObject:opacity forKey:@"opacity"];
    [mainWindow setAlphaValue:[optOndoorzichtigheidSlider doubleValue]];
    [defaults synchronize];
    [optOndoorzichtigheidLabel setStringValue:opacity];
    NSLog(@"fired");
}
但它没有启动,控制台会给出以下消息:2011-01-09 19:31:18.994 Nistract[1337:a0f]-[NSSlider value]:未识别的选择器发送到实例0x100427400

该方法正在执行。你只是因为试图执行一个不存在的方法而崩溃

问题在于这一行:

NSString *opacity = [NSString stringWithFormat:@"%d",[optOndoorzichtigheidSlider value]];
NSSlider没有值方法。它有一个返回double的doubleValue方法。

该方法正在执行。你只是因为试图执行一个不存在的方法而崩溃

问题在于这一行:

NSString *opacity = [NSString stringWithFormat:@"%d",[optOndoorzichtigheidSlider value]];

NSSlider没有值方法。它有一个返回double的doubleValue方法。

现在我使用这段代码,它似乎可以工作:

- (IBAction)optOndoorzichtigheidChange:(id)sender {
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    NSString *opacity = [NSString stringWithFormat:@"%d",[optOndoorzichtigheidSlider intValue]];
    [defaults setObject:opacity forKey:@"opacity"];
    [[mainWindow animator] setAlphaValue:((double) [optOndoorzichtigheidSlider intValue] / 100)];
    [defaults synchronize];
    [optOndoorzichtigheidLabel setStringValue:opacity];
    NSLog(@"fired");
}

现在我使用这段代码,它似乎起作用了:

- (IBAction)optOndoorzichtigheidChange:(id)sender {
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    NSString *opacity = [NSString stringWithFormat:@"%d",[optOndoorzichtigheidSlider intValue]];
    [defaults setObject:opacity forKey:@"opacity"];
    [[mainWindow animator] setAlphaValue:((double) [optOndoorzichtigheidSlider intValue] / 100)];
    [defaults synchronize];
    [optOndoorzichtigheidLabel setStringValue:opacity];
    NSLog(@"fired");
}

您已硬编码滑块。而不是像这样的电话

[optOndoorzichtigheidSlider intValue];
尝试使用发件人

看起来您正在使用此处的值更新标签

[optOndoorzichtigheidLabel setStringValue:opacity];

当你可以考虑使用绑定时,

你已经硬编码了你的滑块。而不是像这样的电话

[optOndoorzichtigheidSlider intValue];
尝试使用发件人

看起来您正在使用此处的值更新标签

[optOndoorzichtigheidLabel setStringValue:opacity];

当你可以考虑使用绑定时,

谢谢,这也是个问题,但它并没有解决我的问题。谢谢,这也是个问题,但它并没有解决我的问题。