2013-04-25 18 views
7

Dur, bu yüzden tüm verileri almak için çalışma döngü ekleyin:Ben dizisindeki bir bağlantı var bir NSRunLoop

[[NSRunLoop currentRunLoop] run]; 
    [connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; 

Ama ben insanlara

- (void)connectionDidFinishLoading:(NSURLConnection *)connection{ 
    if([NSRunLoop currentRunLoop]){ 
     [[NSRunLoop currentRunLoop] cancelPerformSelectorsWithTarget:self]; 
    } 
    [connection cancel]; 
} 
durdurmak için herhangi bir yol bulamıyorum

Bu döngüyü nasıl durdurabilirim?

cevap

14

Sen Çekirdek Fundation API tarafından runloop durdurabilirsiniz:

CFRunLoopStop(CFRunLoopGetCurrent()); 
+0

çok memnun oldu. Teşekkürler! – almas

+0

Çalışmaya başladığım halde, bunun gerçekten nasıl çalıştığını anlayamadığımdan emin değilim? Core Foundation Run Loop yöntemi bir NSRunloop'u sonlandırır mı? – absessive

+0

'NSRunLoop' ve' CFRunLoopRef', aynı temel yapı için iki arabirimdir, @absessive (aradıklarında "ücretsiz köprülü" olmadıkları halde). Yani [NSRunLoop currentRunLoop] 've' CFRunLoopGetCurrent() 'esas olarak aynı şeylere erişim sağlar, ancak sadece CF API'nin bir" stop "düğmesine sahiptir. –