2010-09-25 199 views
2

我有我的Picker類:奇怪的Xcode警告

- (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];

什麼我能做到這一點消失嗎?謝謝!

回答

2

因爲您的發件人具有類型ID,並且對於類型ID,因此沒有稱爲(changeDate :)的方法。因此,如果您想調用changeDate:方法,則必須投射您的發件人,否則您必須指定特定的類類型。

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

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

非常感謝您! (這很明顯!: - /) – Abramodj 2010-09-25 12:52:40