私はこの公式文書が指示したことを正確に実行しました。テスト用にコンソールプロジェクトを作成しました。次に、RequestSenderというクラスを作成し(以下のコードを参照)、main関数でこのクラスのインスタンスを作成しました。
RequestSender.h:
#import <Foundation/Foundation.h>
@interface RequestSender : NSObject <NSURLConnectionDelegate> {
NSMutableData* d;
}
@end
RequestSender.m:
#import "RequestSender.h"
@implementation RequestSender
- (id)init {
self = [super init];
if (self) {
NSString* s = @"http://www.apple.com/";
NSURL* u = [[NSURL alloc] initWithString:s];
NSURLRequest* r = [[NSURLRequest alloc] initWithURL:u];
NSURLConnection* c = [[NSURLConnection alloc] initWithRequest:r delegate:self];
if (c) {
d = [NSMutableData data];
}
return self;
} else {
return nil;
}
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[d setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[d appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
}
@end
これは間違いなくメインスレッドとデフォルトの実行ループで実行されます。ただし、どの委任メソッドも呼び出されません。
私は多くのテストを行い、多くの投稿を読みましたが、まだ手がかりがありません。
私を助けてください。これは私を怒らせています。ありがとう!