Долгое время скрывался, первый постер.
Я делаю модуль ServerConnection, чтобы сделать его модульным и легким, но у меня возникают проблемы с вызовом делегата.Я видел еще несколько подобных вопросов, но ни один из ответов не решил мою проблему.
ServerConnection настроен как протокол.Таким образом, объект ServerConnection создается в Login.m, который выполняет вызов к серверу, а затем добавляет методы делегирования в Login, чтобы обработать, если есть ошибка или, если это сделано, они вызываются ServerConnection, как показано ниже.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
if( [self.delegate respondsToSelector:@selector(connectionDidFinish:)]) {
NSLog(@"DOES RESPOND");
[self.delegate connectionDidFinish:self];
} else {
NSLog(@"DOES NOT RESPOND");
}
self.connection = nil;
self.receivedData = nil;
}
Это всегда "не отвечает".Я попробовал трюк с CFRunLoop (ниже), но он все еще не работает.
- (IBAction)processLogin:(id)sender {
// Hide the keyboard
[sender resignFirstResponder];
// Start new thread
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// Acutally call the server
[self authenticate];
// Prevent the thread from exploding before we've got the data
CFRunLoopRun();
// End thread
[pool release];
}
Я довольно сильно скопировал Apple URLCache и сравнил их оба раза, но могуне найдено никаких расхождений.
Любая помощь будет принята с благодарностью.