2013-08-20 51 views
-1

我希望能夠到,比方說,運行NSURLConnection的發佈和下載這樣一個類:NSURLConnection的單獨

NSString *data = [Server post:para1, para2, para3]; 

我敢肯定,我必須寫含有的代表一類NSURLConnection,當然還有稱爲post的函數啓動NSURLConnection並返回下載的字符串。

整個問題是我不知道如何正確地做到這一點。我已經嘗試添加一個名爲Server的類與代表等,然後使該函數公開。之後,post函數無法訪問類中的委託和變量。此外,post函數無法返回字符串,因爲它在- (void)connectionDidFinishLoading:(NSURLConnection *)connection中是第一個已知的。

你能否給我一個提示如何創建一個類,可以HTTP POST到一個URL並返回字符串並且只用一行或幾行來運行?

+0

您確定這是您想要的嗎?這必須是阻止呼叫,因爲連接可能非常慢。另外,它可能會失敗。 –

+0

我認爲這將是最簡單的,是的。我將在另一個線程中啓動它,以防止應用程序凍結。我需要它的原因是因爲NSURLConnection會運行多次返回不同的值,需要以不同的方式處理。看起來很難「猜測」在 - (void)connectionDidFinishLoading:(NSURLConnection *)連接中返回哪個字符串。 – Hedam

回答

1

對於同步URL請求(優選在非主線程),可以使用的NSURLConnection

sendSynchronousRequest:returningResponse:error: 

類方法。

0

您可以通過兩種方式實現這一點,一種方法是在connectionDidFinishLoading完成時調用自定義委託,或者您可以爲Server方法提供塊回調,並在完成時調用塊回調。開始時,塊有點混亂,但是知道如何使用它們是一個很好的工具。

看一看Blocks (Apple Doc)

Bock Tutorial