2011-01-09 18 views
1

を発射ません:NSSliderイベント私はこのコードで私の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値]:インスタンスに送信された認識できないセレクタ0x100427400

答えて

0

今私はこのコードを使用し、動作しているようです:

- (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"); 
} 
4

メソッドです。存在しないメソッドを実行しようとしているので、クラッシュしているだけです。

問題は、この行です:

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

NSSlidervalueメソッドを持っていません。それにはdoubleを返すdoubleValueメソッドがあります。

+0

これも問題でしたが、私の問題は解決しませんでした。 – icant

1

あなたのスライダーハードコーディングされてきました。代わりにsender

[sender intValue]; 

を使用して、この

[optOndoorzichtigheidSlider intValue]; 

試してみるなどの呼び出しのそして、あなたが代わりにバインディングを使用して検討することもできたとき、あなたがここに

[optOndoorzichtigheidLabel setStringValue:opacity]; 

値とラベルを更新しているように見えます。

関連する問題