2010-11-06 94 views
0

我有一個iOS操作- (void)download; - 我在iOS應用程序啓動時運行。強制iOS動作等待動作完成之前的方法?

但是,我需要另一個- (void)showData; - 在UIMapView上顯示數據,以等待所有數據已經​​通過- (void)download下載 - 在它開始之前。只是想知道有沒有人知道一種方法來做到這一點?

謝謝。

+0

如何下載方法做它的下載? – Anna 2010-11-07 00:49:50

+0

as aBitObvious問...你在使用NSURLConnection嗎? NSOperationQueue?多一點信息將幫助我們更好地理解你的問題。 – joshpaul 2010-11-07 02:16:21

+0

對不起,延遲 - 但我使用NSURLConnection – Billy 2010-11-09 23:18:30

回答

0

首先發送- (void)download;請求,並把progress hud到UI所以用戶會知道你正在下載數據,一旦你與下載完成辭退進步HUD和運行- (void)showData;方法

- (void)download{ 
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; 
    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
    if (connection) { 
     receivedData = [[NSMutableData data] retain]; 
     //display loading hud here 
    } else { 
     // oh noes! 
    } 
} 

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { 
    [receivedData setLength:0]; 
} 

- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { 
    [receivedData appendData:data]; 
    int kb = [receivedData length]/1024; 
    //dismiss hud here 
    [self showData]; 
}