Warnung: UIKit sollte nicht aufgerufen werden, von einem sekundären thread aus

In meiner iPhone-app, die ich brauche, um eine Verbindung zu einem web-server, dies kann einige Zeit dauern, ich bin über threads wie diesen:

[NSThread detachNewThreadSelector:@selector(sendStuff) toTarget:self withObject:nil];

- (void)sendStuff {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    //Need to get the string from the textField to send to server
    NSString *myString = self.textField.text;

    //Do some stuff here, connect to web server etc..

    [pool release];
}

Auf die Zeile, in der ich selbst.textField ich bekomme eine Warnung in der Konsole sagt:
void _WebThreadLockFromAnyThread(bool), 0x5d306b0: Erlangung der web-sperren aus einem anderen thread als dem Hauptthread oder das web-thread. UIKit sollte nicht aufgerufen werden, von einem sekundären thread aus.

Wie kann ich dem textField, ohne immer diese Fehlermeldung?

Um Ihnen zu helfen müssten wir wissen, warum Sie abnehmen ein thread (Was so lange dauert, das zu tun), welche UI-Informationen, die Sie benötigen, und welche UI-Informationen, die Sie aktualisieren möchten.
Hi! Ich aktualisiert die Frage. Ich muss eine Verbindung zum web-server, und ich muss der text aus dem textField zu senden an server.
Sie sollten akzeptieren, Graham Lee oder tonklon Antwort. Sie sollten ziehen Sie den text suchen, bevor Sie laichen in den thread, und übergeben Sie Sie als argument an den Selektor.

InformationsquelleAutor Martin | 2010-07-08

Schreibe einen Kommentar