2012-07-29 2 views
0

아주 간단한 응용 프로그램이 있습니다. 슬라이더 값을 가져 와서 텍스트 상자에 표시합니다. 인터페이스와 구현은 다음과 같다 :Objective-C 슬라이더 값을 가져와 텍스트 상자에 표시합니다.

#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를 :

enter image description here

문제 : 응용 충돌 내가 슬라이더를 이동합니다.

+0

에 대한 포인터? int처럼 들리는가? – bigkm

답변

1

indexOfTickMarkAtPoint은 NSInteger를 반환하지만 setStringValue:은 (분명히) 문자열을 필요로합니다. 변환 방법에 대한 설명은 NSString 메서드 stringWithFormat: 설명서를 참조하십시오. 같은

뭔가 :

[Tf setStringValue:[NSString stringWithFormat:@"%d", [Sc indexOfTickMarkAtPoint]]]; 
+0

방금 ​​"인스턴스 메소드 - indexoftickmarkatpoint를 찾을 수 없습니다 (id 유형의 기본값을 반환합니다)"오류가 발생했습니다. –

+0

이름을 잘못 입력했을 수 있습니다 ...? 어쨌든, 당신이 이미'Sc'에서 호출했던 것과 같은 방법입니다. –

1

일이 일어나고 뭐죠은 자사의 NSInteger하지 indexOfTickMarkAtPoint가 반환하는 어떤 객체

[Tf setIntegerValue:[Sc indexOfTickMarkAtPoint]]; 
관련 문제