奇怪的Xcode警告

时间:2010-09-25 12:44:43

标签: iphone xcode

我在我的Picker课程中:

- (id)initWithFrame:(CGRect)frame withSender:(id)sender withDate:(NSDate*)date {
    if ((self = [super initWithFrame:frame])) {

datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0 , 0, 0)];
datePicker.date = date;
[sender changeDate:self.datePicker];
datePicker.date = date;

}

在发件人类中:

- (void)changeDate:(id)sender {

//some code

}

这两种方法也在.h文件中声明。

但是当我编译时,即使一切运行良好,xCode告诉我:

  

没有'-changeDate:'找到方法

引用第[sender changeDate:self.datePicker];

我能做些什么才能让它消失?谢谢!

1 个答案:

答案 0 :(得分:2)

因为您的发件人具有类型ID,并且对于类型ID,所以没有名为(changeDate :)的方法。因此,如果要调用changeDate:方法,则必须转发发件人,或者必须指定特定的类类型。

(MySender *)mySender = (MySender *)sender;

- (id)initWithFrame:(CGRect)frame withSender:(MySender *)sender withDate:(NSDate*)date {