Ich weiß, dass UIView nicht threadsicher ist, daher kann ich keine Ansicht auf einen Hintergrundthread hinzufügen. Um das zu umgehen, ist es in Ordnung, eine UIView in einem Hintergrundthread zu erstellen und dann im Hauptthread hinzuzufügen?Ist es in Ordnung, eine UIView auf einem Hintergrund-Thread zu erstellen?
Hinweis: Der Grund, warum ich dies nicht im Hauptthread mache, ist, weil mein tatsächlicher Code viel komplexer ist und daher eine Weile dauert, um alle Ansichten zu erstellen und die Werte zu füllen. Ich möchte nicht, dass die Benutzeroberfläche unpassend wird, wenn ich das tue, also versuche ich, dies zu umgehen.
zum Beispiel ..
-(void)addLabel//called on background thread
{
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0,0,40,100)];
[label setText:@"example"]
[self.view performSelector:@selector(addSubview:) onThread:[NSThread mainThread] withObject:example waitUntilDone:YES];
}
Vielen Dank im Voraus.
Ich glaube, Sie haben es richtig. Erstellen Sie es im Hintergrund, aber aktualisieren Sie die Benutzeroberfläche im Hauptfenster. –