我写了一个简单的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有谁可以帮我?
谢谢。
发布于 2013-05-10 02:55:42
您的代码在我的系统上运行得很好,但是当我在@selector(updateTextFieldDate:)中输入错误的方法名时,我得到了完全相同的错误。
我知道,愚蠢的建议,但你有没有可能在代码中有打字错误,即使你在这里展示的东西没有它?synthesize中的拼写错误使它看起来像是您在这里键入了类,而不是复制粘贴,所以可能xcode版本在@selector部分中有拼写错误?
发布于 2013-05-10 01:52:08
这是因为您正在合成的文本字段属性editTextDate是错误的ediTextDate(表示缺少t ),因此请将其替换为** editTextDate**。
并替换您的代码
UIDatePicker *picker=(UIDatePicker*)self.editTextdate.inputView; // wrong editTextdate , it is editTextDate有了这个:
UIDatePicker *picker=(UIDatePicker*)self.editTextDate.inputView;然后你的代码就可以正常工作了。
希望能对你有所帮助。
https://stackoverflow.com/questions/16467406
复制相似问题