私のプロジェクトでは、次の方法があります。
-(NSArray*)getWindSpeed
{
[client setURL:@"windspeed"];
NSLog(@"Wind speed asked");
[client getData];
return [self Parse];
}
-(NSArray *)Parse
{
NSLog(@"parsing");
return [parser parseJSONData:rawData];
}
getWindSpeed が呼び出されると、まず作成した httpclient の URL を変更してから、データを要求します。クライアントの getData メソッドで httprequest を実行し、データを受信すると、そのデータを配列に格納します。次に、解析されたデータを返したいと思います。ただし、クライアントの getData 関数が終了する前に Parse メソッドが呼び出されます。
したがって、パーサーが受け取る rawData は常に null です。
[self Parse] がクライアントの
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
データが受信されるまで [self Parse] が呼び出されないようにする方法についてのヒントはありますか?