ich die folgende Testklasse gemacht zu versuchen, Daten aus Parse Abrufen:findObjectsInBackgroundWithBlock: erhält Daten von Parse, aber Daten existieren nur innerhalb des Blockes
-(void)retrieveDataFromParse
{
PFQuery *query = [PFQuery queryWithClassName:@"TestObject"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if(!error){
for (PFObject *object in objects){
NSString *nameFromObject = [NSString stringWithFormat:@"%@", [object objectForKey:@"Name"]];
NSString *dateFromObject = [NSString stringWithFormat:@"%@", [object createdAt]];
NSString *scoreFromObject = [NSString stringWithFormat:@"%@", [object objectForKey:@"Score"]];
[self addNewScore:scoreFromObject andDate:dateFromObject forUserName:nameFromObject];
NSLog(@"The dictionary is %@", self.scoreDictionary); //<-- here it works printing out the whole dictionary
}
} else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
NSLog(@"The dictionary is %@", self.scoreDictionary); //<- but after the block is called, here the dictionary is again empty...
}
Per kommentierten Abschnitt in dem Code, wenn ich self.scoreDictionary
drucken Innerhalb des Codes funktioniert es gut und ich sehe mein ganzes Wörterbuch, wenn es schrittweise gefüllt wird. Nachdem der Block jedoch beendet ist, wenn ich das Wörterbuch erneut drucke, ist es jetzt leer. Ich habe das mit den API-Dokumenten überprüft, bin aber immer noch unsicher, was ich falsch mache.
Dank, vor allem für die sehr hilfreich Darstellung, die die Fäden zu zeigen! – daspianist