2012-07-02 64 views
0

我想上傳圖片到PHP文件,一切正常,但有時當該網站是線程正在退出我的應用程序

越來越慢加載我們的應用程序啓動frizzing,直到頁面加載完成,所以我想

有關使用線程來避免這種frizzing,但現在我們的應用程序顯示和退出。我不

看到任何警告或問題......它只是進入程序而存在的時候了。請幫我

代碼:

-(void) source { 
    NSData *imageData = UIImageJPEGRepresentation(imageView.image, 80); 

    NSString *urlString = @"http://domain"; 

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
    [request setURL:[NSURL URLWithString:urlString]]; 
    [request setHTTPMethod:@"POST"]; 


    our_label.text = [NSString stringWithFormat:@"%@", returnString]; 
} 


-(void)som:(id)param{ 
    [lock lock]; 

    [lock unlock]; 
} 

回答

2

可以使用的NSURLRequest在非同步的方法,但是如果你希望你的當前代碼工作遵循以下insturctions

首先改變這一行

[NSThread detachNewThreadSelector:@selector(multithreading:) toTarget: [MainViewController class] withObject:nil]; 

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

二,你正在更新在非UI線程的UI,所以把這個包

our_label.text = [NSString stringWithFormat:@"%@", returnString]; 

周圍dispatch_get_main_queue像下面

dispatch_async(dispatch_get_main_queue(), ^{ 
    our_label.text = [NSString stringWithFormat:@"%@", returnString]; 
}); 

,因爲你並沒有真正使用它們

//[lock lock]; 
    [self source]; 
    //[lock unlock]; 
+0

Halla fi奧馬爾,我遇到問題:dispatch_async,也許有一個錯字? – user1480092

+0

@ user1480092你是正確的,檢查更新的答案:) –

+0

我得到了它只是改變}來}); – user1480092

2

完全錯誤的做法。仔細看documentation of NSURLConnection,你會發現方法sendAsynchronousRequest:queue:completionHandler :.

您需要使用雖然塊學習(但它是值得的)。

+0

同意!異步是要走的路! – doNotCheckMyBlog