0

私は多くを検索して試しましたが、私のアプリケーション(iOS 5 SDKを使用しています)でNSURLConnectionデリゲートメソッドが呼び出されるのは、viewDidLoadメソッドまたは任意のボタンのクリックイベントで接続を初期化して開始するときだけです。NSURLConnectionデリゲートが動作しない

しかし、私はJSONファイルを解析した後に呼びたいと思っています。 JSONのすべてのレコードに対して新しい接続を作成します。

何が起こっているのか教えていただけますか?

-(void)getData:(NSString*)URL{ 
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:URL]]; 

shortURL = [NSString stringWithString:URL]; 


connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self]; 

//NSAssert(connection!=nil, @"no connection", nil); 
[connection start]; 

}

- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response 

{ // application specific stuff }

のgetData関数が継承されたクラスで書かれている:IOSに変更何かがここ5

は私のコードがあるSDKですNSObjectから。これは、UITableViewのメソッドである

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

から呼び出されます。

私にこれを手伝ってください。

+2

はあなたのコードを投稿ブロックされます... – esqew

+1

最後のデリゲートメソッドは、ドキュメント –

+0

中のiOS 5のリードで廃止予定されている実際の問題ができるように、ここでのコードブロックを入力してください特定された。 – iCreative

答えて

2

バックグラウンドスレッドでJSON解析コードが実行されていると仮定すると、そのスレッド用にNSRunLoopを作成する必要があります。

NSURLConnectionクラスは、単にrunloopに自身を追加しています。存在しない場合は、処理メソッドまたはデリゲートメソッドが呼び出されません。

connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self]; 
[[NSRunLoop currentRunLoop] run]; 

注:runメソッドが

関連する問題