0

とてもシンプルなアプリを手に入れました。スライダーの値を取得し、テキスト ボックスに表示します。インターフェイスと実装は次のとおりです。

#import <Foundation/Foundation.h>

@interface HelloWorld : NSObject
@property (assign) IBOutlet NSTextField *Tf;
@property (assign) IBOutlet NSSliderCell *Sc;

@end


#import "HelloWorld.h"

@implementation HelloWorld
@synthesize Tf;
@synthesize Sc;
- (IBAction)Pressed:(id)sender {
    [Tf setStringValue:@"Hey"];
}
- (IBAction)Scroll:(id)sender {
    [Tf setStringValue: [Sc indexOfTickMarkAtPoint]];
}

@end

UI:

ここに画像の説明を入力

問題: スライダーを動かすとアプリがクラッシュします。

4

2 に答える 2

1

indexOfTickMarkAtPointNSIntegerを返しますが、setStringValue:(ある程度明らかに)文字列が必要です。stringWithFormat:変換方法の説明については、NSStringメソッドのドキュメントを参照してください。

何かのようなもの:

[Tf setStringValue:[NSString stringWithFormat:@"%d", [Sc indexOfTickMarkAtPoint]]];
于 2012-07-29T11:54:13.500 に答える
1

何が起こっているのかはNSIntegerであり、オブジェクトへのポインタではありません

[Tf setIntegerValue:[Sc indexOfTickMarkAtPoint]];
于 2012-07-29T11:54:35.730 に答える