我已經看過NSURLConnectionDelegate connection:didReceiveData not working已經數據,但似乎沒有從任何好的結果,所以我很好奇,爲什麼我不能得到任何數據。NSUrlConnectionDelegate不調用方法來加載
我把斷點didReceiveResponse
和didReceiveData
。
它打印出「連接成功」,所以我知道連接已啓動。
我正在使用ARC進行內存管理。
- (void)load {
request = [NSMutableURLRequest requestWithURL:myURL
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:60];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (conn) {
[conn start];
NSLog(@"connection succeeded, %s", [myURL description]);
responseData = [NSMutableData data];
} else {
NSLog(@"connection failed");
}
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
responseData = [[NSMutableData alloc] init];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[responseData appendData:data];
}
UPDATE:
,看我怎麼在Asynchronous unit test not being called by SenTestCase測試這個樣子。
我沒有落實jonkroll提到的兩種方法,在他的回答,我只是沒有告訴他們,但他們也沒有被調用。
我又增加了[conn start]
只是因爲它不工作,我希望可以解決這個問題,但沒有這樣的運氣。
我改變了conn爲:@property NSURLConnection * conn;但是我得到相同的結果,沒有收到數據。等待超過90秒後,我的單元測試停止等待並失敗。 – 2012-04-18 02:12:36
@JamesBlack我加了一些測試過的示例代碼。 – NJones 2012-04-18 03:10:18
我還不確定它的區別,但現在正在工作,謝謝你。 – 2012-04-19 00:17:33