我正在通過Objective-C的基礎知識,我已經畢業了過去的語法,但我仍然沒有做任何特定於iOS的東西。無論如何,我試圖找出http請求,並且我無法使異步郵件正常工作。我可以在基礎「基礎」目標C文件中創建一個異步NSURL連接嗎?
我可以走的很基本的(這工作):
NSString *doc = [NSString stringWithContentsOfURL:url usedEncoding:&encoding error:&error];
NSLog(@"%@", doc);
而且我可以做一個同步的請求(也適用):
NSData *urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
NSString *doc = [[NSString alloc]initWithData:urlData encoding:NSASCIIStringEncoding];
但當我嘗試這個辦法:
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:url];
connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];
我似乎無法獲得任何連接方法來觸發,如didReceiveResponse或didReceiveData。
因此,這裏是我的問題:
請問我試圖在一個命令行obejctiveÇ應用程序做的工作?
- 代表需要「自我」嗎?我可以做一個自定義的「委託」類,並添加類似的方法:
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSLog(@"Data");
}
- 如果自定義委託是可能的,它是一個好主意嗎?我應該將上面的didReceiveData方法附加到執行連接的任何類上嗎?
- 我是否需要持續運行某種任務,以便在響應進入之前我的程序不會結束?
-Am我吠叫完全錯誤的樹?你能讓我直線嗎?
提前感謝您的時間。
完美,謝謝。我看到一些其他問題表明我應該繼續運行該程序,但我無法弄清楚它是如何實現的。 – eric