2010-10-15 3 views
1

Les méthodes de délégation de connexion ne sont pas appelées avec le thread d'arrière-plan, pourquoi?Les méthodes déléguées de connexion ne sont pas appelées avec le thread d'arrière-plan, pourquoi? (iPhone SDK)

Dans le programme, j'ai créé le thread d'arrière-plan et les délégués de connexion d'ensemble de threads, en définissant ObjNSURLConnection.delegate = AnotherClass, et que AnotherClass contient les méthodes de délégué NSURLConnection.

Mais quand je débogue un code, j'ai trouvé que la méthode du délégué NSURLConnection n'est pas appelée. Une raison, pourquoi ils ne sont pas appelés? Comment résoudre ce problème?

+0

J'ai créé un thread à l'aide de NSInvocationOperation et NSOperationQueue. – Matrix

+0

Il sera difficile de diagnostiquer une question comme celle-ci. Pouvez-vous être plus précis ou poster du code? – Jordan

Répondre

2

NSURLConnection planifie les notifications pour les événements sur le chemin de roulement sur lequel il a été appelé. Vous négligez probablement d'exécuter le runloop pour votre thread d'arrière-plan.

1

Vous devez explicitement exécuter le cycle de démarrage après avoir démarré la connexion. Essayez d'ajouter cette ligne de code

[[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate: [NSDate distantFuture]];

Questions connexes