0

NSURLConnection を使用して HTTP で画像を取得しようとしています。バックグラウンドでセレクターを実行します

[self performSelectorInBackground:@selector(loadingDaemon) withObject:nil];

どこでこれをしますか

NSString *fullImageURL = [NSString stringWithFormat:@"http://%@/%@", baseURL, currentlyLoadingImage];
NSURL *imgURL = [NSURL URLWithString:fullImageURL];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:imgURL];
request.timeoutInterval = 10;
NSURLConnection *newConnection = [NSURLConnection connectionWithRequest:request delegate:self];

NSURLConnection のデリゲートを自分自身に設定し、メソッドを実装します

connection:didReceiveResponse:
connection:didReceiveData:
connection:didFailWithError:
connectionDidFinishLoading:

さらに、すべてのメソッド呼び出しと条件分岐をログに記録します。しかし、上記の 4 つの関数は呼び出されません。理由を教えてください。

4

1 に答える 1

0

作成している NSURLConnection はこれらの操作をバックグラウンドで実行しているため、バックグラウンドで実行する必要はなく、それが機能しない理由です。代わりに、セレクターを呼び出す現在の方法で NSURLConnection sendAsynchronousRequest を使用するか、その関数を直接呼び出すことができます。

于 2012-08-29T20:52:42.113 に答える