0

iOS5 の NSJSONSerialization で JSON を解析しようとしています。このコードは、初めて必要なデータを正しく解析しましたが、データは同じままでした。URL の JSON は既に変更されていますが、コードは解析した最初のデータを提供し続けましたが、これは正しくありません。何度「ビルドして実行」しても、同じ結果が得られます。

コードを新しいプロジェクトにコピーすると、再び初めて機能し、同じことを行います。

どこに問題があるのか​​ わかりません。おそらくキャッシュですか?

助けてくれてありがとう!!!

- (void)fetchedData:(NSData *)responseData {
    NSError* error;
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData
                                                     options:kNilOptions 
                                                       error:&error];
    NSArray* allDepartures = [json objectForKey:@"departures"];

    NSLog(@"departures: %@", allDepartures);
    NSDictionary* stops = [allDepartures objectAtIndex:0];
    NSNumber* time = [stops objectForKey:@"expected_mins"];
    NSString* name = [stops objectForKey:@"headsign"];

    nameLabel.text = [NSString stringWithFormat:@"%@",name];
    timeLabel.text = [NSString stringWithFormat:@"%i",[time intValue]];
}

- (IBAction)getInfo:(id)sender {
    dispatch_async(kBgQueue, ^{
        NSData* data = [NSData dataWithContentsOfURL: myURL];
        [self performSelectorOnMainThread:@selector(fetchedData:) 
        withObject:data waitUntilDone:YES];
});
4

1 に答える 1

0

viewDidLoadでのみ「myURL」をどのように設定しますか?しばらくして、OSがviewDidUnloadを呼び出し、アプリを再度実行すると、viewDidLoadが呼び出され、myURLが再度設定されます。その場合は、getInfoを呼び出すたびにmyURLを設定する必要があります。

于 2012-06-13T17:06:57.927 に答える