私は現在、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 が返されます。別のクラスを介してデータを取り込もうとしている場合、これはあまり役に立ちません。
私は過去数日間、非常に多くのことを試してきましたが、ひどく複雑なものを見落としているとは想像できません。これを再開して申し訳ありませんが、現時点では頭を包むことはできません.
これをどのように処理できるかについてのアイデアはありますか? いつものように助けてくれてありがとう。