我有一个非常简单的应用程序。它获取滑块值并将其显示在文本框中。界面和实现如下:
#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
用户界面:
问题: 移动滑块时应用程序崩溃。
答案 0 :(得分:1)
indexOfTickMarkAtPoint
返回NSInteger但setStringValue:
想要(有点明显)一个字符串。查看NSString方法stringWithFormat:
的文档,了解如何进行转换。
类似的东西:
[Tf setStringValue:[NSString stringWithFormat:@"%d", [Sc indexOfTickMarkAtPoint]]];
答案 1 :(得分:1)
发生的事情是它的NSInteger而不是指向Object的指针
[Tf setIntegerValue:[Sc indexOfTickMarkAtPoint]];