0

私は現在、PFQueryTableView に取り組んでおり、ViewDidLoad から取得した配列からデータを取り込もうとしています。更新: 関数を NSObject に移動し、ビュー コントローラーから操作をサイロ化するために、複数のクラスで使用されるシングルトンを実装しました。以下は更新されたコードです。

  + (NSArray *)savedTankArray
{
    PFUser *userName = [PFUser currentUser];
    NSString *userNameString = [userName objectForKey:@"username"];


    PFQuery *query = [[PFQuery alloc] initWithClassName:@"SavedTanks"];
    [query whereKey:@"userName" equalTo:userNameString];
    [query setValue:@"SavedTanks" forKeyPath:@"parseClassName"];

    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error)
     {
         if (!error)
         {
             // The find succeeded.
             NSLog(@"Successfully retrieved %lu Tanks.", objects.count);
             // Do something with the found objects
             for (PFObject *object in objects)
             {
                 NSString *tankNameString = [[NSString alloc] init];
                 NSString *tankCapacityString = [[NSString alloc] init];

                 tankNameString = [object valueForKey:@"tankName"];
                 tankCapacityString = [object valueForKey:@"tankCapacity"];

                 NSLog(@"%@", tankNameString);
                 NSLog(@"%@", tankCapacityString);

                 _savedTankArray = [objects objectAtIndex:0];

             }
         }
         else
         {
             // Log details of the failure
             NSLog(@"Error: %@ %@", error, [error userInfo]);
         }
     }];
NSLog(@"TANK NAME ARRAY: %@", _savedTankArray);
return [_savedTankArray savedTankObjects];

}

関数内の NSLogs は正常に動作しますが、私の問題は少し拡大されており、ここで本当に単純なものが欠けているように感じます。

@"TANK NAME ARRAY: %@" に到達するまでに...クエリを処理する部分の外側にあるため、明らかに null が返されます。別のクラスを介してデータを取り込もうとしている場合、これはあまり役に立ちません。

私は過去数日間、非常に多くのことを試してきましたが、ひどく複雑なものを見落としているとは想像できません。これを再開して申し訳ありませんが、現時点では頭を包むことはできません.

これをどのように処理できるかについてのアイデアはありますか? いつものように助けてくれてありがとう。

4

2 に答える 2