Странное предупреждение Xcode - PullRequest
2 голосов
/ 25 сентября 2010

У меня в классе 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 Ответ

2 голосов
/ 25 сентября 2010

Поскольку у вашего отправителя есть идентификатор типа, а для идентификатора типа нет метода с именем (changeDate :). Поэтому, если вы хотите вызвать метод changeDate:, вам нужно привести своего отправителя или указать конкретный тип класса.

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

или

- (id)initWithFrame:(CGRect)frame withSender:(MySender *)sender withDate:(NSDate*)date {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...