我编写了一个用于学习的简单iOS应用程序,在我的情况下,我需要使用UIDatePicker
,并且在用户更改日期后,我需要将此日期写入UITextField
,这是代码:
.h文件
@interface ExpenseViewController: UIViewController<UITextFieldDelegate>
@property (strong,nonatomic) IBOutlet UITextField *editTextDate;
- (void) updateTextFieldDate:(UIDatePicker *)pickerL;
@end
.m
@implementation ExpenseViewController
@synthesize ediTextDate;
- (void) viewDidLoad
{
[super viewDidLoad]
UIDatePicker *datePicker;
datePicker = [[UIDatePicker alloc]init];
[datePicker setDate:[NSDate date]];
[datePicker setDatePickerMode:UIDatePickerModeDate];
[datePicker removeTarget:self action:nil forControlEvents:UIControlEventValueChanged];
[datePicker addTarget:self action:@selector(updateTextFieldDate:) forControlEvents:UIControlEventValueChanged];
[editTextDate setInputView:datePicker];
}
- (void) updateTextFieldDate:(UIDatePicker *)pickerL{
UIDatePicker *picker=(UIDatePicker*)self.editTextdate.inputView;
editTextDate.text=[NSString stringWithFormat:@"%@",picker.date];
}
@end
但我收到此错误:
ExpenseViewController updateTextFieldDate:]:unrecognized selector sent to instance 0x8d395f0
谁能帮我?
谢谢。
最佳答案
您的代码在我的系统上运行良好,但是在@selector(updateTextFieldDate :)中错误输入方法名称时,出现了完全相同的错误。
我知道,这是愚蠢的建议,但是即使您在此处显示的内容没有错字,代码中也可能存在错字? synthesize中的错字使您看起来好像在这里键入了类而不是粘贴粘贴,所以也许xcode版本在@selector部分中有错字?
关于ios - UIDatePicker事件已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16467406/