В viewDidLoad
методе моего взгляда контроллера, я создаю NSURLConnection
Являются ли делегированные методы конфиденциально объявленными?
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest
delegate:self]
Вы можете видеть, что я установить делегат self
.
Затем я реализовал метод делегата
-(void) connection: (NSURLConnection*) connection didReceiveResponse: (NSURLResponse*) reponse {
//myImplementation;
}
Эта реализация только определенный в @implementation ViewController @end
блоке, и он не объявлен в ViewController
«s @interface
.
Итак, я предполагаю, что этот метод является приватным? Он компилируется и работает хорошо. Но я просто не могу назвать этот метод, как [self connection: connection didReceiveResponse: response]
в собственных методах ViewController
.
Какое объяснение?
Похоже, что OP забывает объявление соответствия протокола. Он должен получать предупреждение об инициализаторе, хотя похоже, что более старые версии iOS объявили параметр как 'id' вместо' id ', поэтому он зависит от того, какой SDK он использует. –
@ Кевин: Да, у меня тоже было такое впечатление. –
Спасибо за быстрый ответ. Я просто проверил интерфейс класса ViewController, и на самом деле он не включил протокол – shredding