2011-04-25 11 views
2

私はスライダアプリケーションを作っています。そのために、私は次のコードを書いていますが、ビルドしてオプションを押すと、スライダーバーは動かない。 .hと.mファイルにエラーが発生します。iphoneスライダの例

SliderAppDelegate.h

#import <UIKit/UIKit.h> 

@interface SliderAppDelegate : NSObject <UIApplicationDelegate> 
{ 
    UIWindow *window; 
    IBOutlet UISlider *slider; 
    IBOutlet UILabel *labelTxt; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) UILabel *labelTxt; 

-(IBAction)changeSlider:(id)sender ; 
@end 

SliderAppDelegate.m

#import "SliderAppDelegate.h" 

@implementation SliderAppDelegate 

@synthesize window,labelTxt ; 

- (void)applicationDidFinishLaunching:(UIApplication *)application 
{ 
    [window makeKeyAndVisible]; 
} 

-(IBAction)changeSlider:(id)sender 
{ 
    labelTxt .text= [[NSString alloc] initWithFormat:@" Value %d ", (int)slider.value]; 
} 

- (void)dealloc 
{ 
    [window release]; 
    [label.Txt release]; 
    [super dealloc]; 
} 

@end 

このコードに問題がありますか?

+2

にコードを変更できますか? '.text'プロパティの前のスペースを削除してみてください。コードのすべてのコードをコードタグで囲みます。ツールバーにはボタンがあります。 – FeifanZ

+0

コードタグはありません。各行に4つのスペースをインデントします。 –

+1

どのイベントがインターフェイスでuisliderで設定されていますか? – GameLoading

答えて

2

についての本を読んでください。また、スライダのアクションがイベント「値が変更されました」に接続されているかどうかを確認します。 また、あなたが受けているどのようなエラーこの

-(IBAction)changeSlider:(id)sender 

{ 

    labelTxt.text= [NSString stringWithFormat:@" Value %d ", (int)slider.value]; 

} 
1

Inspire48からのコメントに指摘されているように、labelTxt .textのスペースを削除し、[label.Txt release];[labelTxt release];に変更してください。

changedSliderメソッドでメモリリークが発生しました。初期化された文字列は解放されません。

そしてInspire48があなたのコードに変更を加えてもIBOutletsとIBActionsが正しく接続されていることを確認してください示唆したよう@多分あなたは客観C.

関連する問題