Это может быть я неправильно делаю шаблон дизайна.
Я реализую асинхронное делегирование в приложении, которое использует NSURLConnection
. Объект оборачивает NSURLConnection
и обрабатывает его делегированные сообщения; это отлично работает Теперь я определяю своих собственных делегатов в объекте, который его использует (NSURLConnection
messages ConnectionWrapper
, ConnectionWrapper
messages NeedsToUseConnection
, вы понимаете), и это работает также хорошо, однако Xcode выдает это предупреждение:
Не найден метод '-request: finishWithResult'
Это, по-видимому, потому что я объявляю делегата, которого я называю, следующим образом:
id<NSObject> delegate;
... и Xcode проверяет, что NSObject
объявляет в платформе Foundation. Моего пользовательского сообщения о делегате нет. Я правильно изолирую звонок:
if([delegate respondsToSelector:@selector(request:finishedWithResult:)])
[delegate request:self finishedWithResult:ret];
Помимо выключения предупреждения - мне нравится работать с как можно большим количеством предупреждений - есть ли способ сообщить (синтаксически или через директиву компилятора), что я знаю, что это сообщение не объявлено? Должен ли я вместо этого использовать шаблон дизайна интерфейса для этого Java? Используя id<WillReceiveRequestMessages>
или что-то?
Открыто для предложения.