Ich habe ein Problem mit NSOperation
und Beobachter.NSOperation, Beobachter und Thread Fehler
Ich habe eine tabbarcontroller
und eine splashController
. Ich möchte, dass der Splashscreen geladen und die Datei heruntergeladen wird und wenn die Datei heruntergeladen ist, erscheint der Bildschirm tabbarcontroller
.
Das Problem ist, dass ich einen Fehler ve:
bool _WebTryThreadLock (bool), 0x3d2fa90: versucht, die Bahn arretieren von einem Thread als der Haupt-Thread andere zu erhalten, oder dem Web-Thread. Dies kann ein Ergebnis des Aufrufs zu UIKit von einem sekundären Thread sein. Crashing jetzt ...
Dies ist mein Code:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
queue = [[NSOperationQueue alloc] init];
NSString *path = [NSString stringWithFormat:@"%@flux.xml",DOCPATH];
//Le fichier existe dans le repertoire des documents
if([[NSFileManager defaultManager] fileExistsAtPath:path])
[window addSubview:tabBarController.view];
else
{
splash = [[SplashController alloc] init];
[window addSubview:splash.view];
}
DataLoadOperation *operation = [[DataLoadOperation alloc] initWithURL:[NSURL URLWithString:@"http://sly.33.free.fr/flux.xml"]];
[self.queue addOperation:operation];
[operation addObserver:self forKeyPath:@"isFinished" options:NSKeyValueObservingOptionNew context:nil];
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
NSLog(@"fini");
}
Kann mir jemand helfen?