我正在制作滑块应用程序。为此,我编写了以下代码,但是当我按下build和go选项时,滑块条没有移动。它在.h和.m文件中出错。
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
此代码中是否有任何问题?
答案 0 :(得分:2)
由于@ Inspire48建议对代码进行更改,并确保IBOutlets和IBActions正确连接。同时检查滑块的动作是否与事件“Value changed”相关联。 您也可以将代码更改为
-(IBAction)changeSlider:(id)sender
{
labelTxt.text= [NSString stringWithFormat:@" Value %d ", (int)slider.value];
}
答案 1 :(得分:1)
正如Inspire48的评论中所指出的,删除labelTxt .text
中的空格并将[label.Txt release];
更改为[labelTxt release];
。
您在changedSlider方法中有内存泄漏。初始化的字符串未释放。
也许你应该读一本关于目标C的书。