Метод делегата, кажется, вызывается только тогда, когда связанный метод вызывается внутренне - PullRequest
0 голосов
/ 24 января 2012

Существует ли какая-либо структурная причина, по которой при вызове метода для экземпляра класса методы делегата, связанные с этим методом, не запускаются?

Класс A:

-(void)methodB //public
{
   NSURLConnection *url = [[NSURLConnection alloc]init];
   url.delegate = self;
   [url start];
}

- (void)connection: (NSURLConnection *)connection didReceiveResponse: (NSURLResponse *)response //delegate Method C
{
   NSLog (@"Connection worked");
}

Какой-то метод внутри Класс X:

ClassA *littleA = [[ClassA alloc] init];
[littleA methodB];

Проблема в том, что connection:didReceiveResponse: не вызывается.

Однако, если я сделаю [self methodB] изнутри метода экземпляра ClassA, это, очевидно, сработает.

1 Ответ

1 голос
/ 24 января 2012

Метод делегата NSURLConnection не вызывается, потому что вы не установили делегат для указанного соединения

NSURLConnection *url = [[NSURLConnection alloc]init];
url.delegate = self;
[url start];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...