當我嘗試運行它時,我收到一個錯誤,指出「在'UISlider'類型的對象上找不到'語義問題:屬性'文本' 「語義問題:在'UISlider'類型的對象上找不到屬性'text'
這裏有什麼問題?
這裏是頭文件中的代碼:
#import <UIKit/UIKit.h>
@interface BIDViewController : UIViewController
@property (strong, nonatomic) IBOutlet UITextField *nameField;
@property (strong, nonatomic) IBOutlet UITextField *numberField;
@property (strong, nonatomic) IBOutlet UISlider *sliderLabel;
- (IBAction)textFieldDoneEditing:(id)sender;
- (IBAction)backgroundTap:(id)sender;
- (IBAction)sliderChanged:(id)sender;
@end
實現文件:
#import "BIDViewController.h"
@implementation BIDViewController
@synthesize sliderLabel;
@synthesize nameField;
@synthesize numberField;
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[self setNameField:nil];
[self setNumberField:nil];
[self setSliderLabel:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (IBAction)textFieldDoneEditing:(id)sender
{
[sender resignFirstResponder];
}
- (IBAction)backgroundTap:(id)sender
{
[nameField resignFirstResponder];
[numberField resignFirstResponder];
}
- (IBAction)sliderChanged:(id)sender
{
UISlider *slider = (UISlider *)sender;
int progressAsInt = (int)roundf(slider.value);
sliderLabel.text = [NSString stringWithFormat:@"%d",progressAsInt];
}
@end
你在哪裏聲明你的'sliderLabel'? –
有一個「@synthesize sliderLabel;」聲明在實現頁面上,在 - (void)viewDidUnload方法中,有一個「[self setSliderLabel:nil]; 」語句。 – pdenlinger