以下にリストされているように、私は NSURLConnection を使用しています。このクラスについて 3 つの質問があります。URL 値を連結すると、デバッガーはこの行に 2 回ヒットしますが、その上の行にはヒットしません。
if (theConnection){
2 回目は EXC_BAD_ACCESS を取得します。最初の URL 割り当て (コメント アウト) を使用すると正常に動作します。
1.) 違いは何ですか?
- (void)applicationDidFinishLaunching:(UIApplication *)application {
//NSString *url = @"http://www.abc.com/afile.mp4";
NSString *temp = @"afile.mp4";
NSString *url = [@"http://www.abc.com/" stringByAppendingString:temp];
theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
[url release];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) {
receivedData=[[NSMutableData data] retain];
}
2.) ファイル名を afile.mp に変更すると、リクエストは通過し、[receivedData length] の値は約 1600 になります。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
打たれる。receivedData に要求している実際のデータがあるかどうかを正確に確認する方法はありますか? ターゲット ファイルは約 7 MB ですが、1.5 MB から 9 MB までさまざまです。リクエストしたリソースがありませんでしたが、それを示すものはありますか?
3.) アプリデリゲートでこれを行っています。そこにある唯一のプロトコルは UIApplicationDelegate です。デリゲートがない場合、すべての NSURLConnection メソッドはどのように機能しますか?