Eli Waxman
Eli Waxman

Reputation: 2897

Parse doesn't return PFObject

I have a pointer to an object in my [PFUser currentUser] and when I'm trying to access values inside that object I get internal ObjC exception breakpoint.

this is my code:

PFObject *object = [PFUser currentUser][@"localityData"];
NSString *value = [object objectForKey:@"language"]; 

I get the error on the second line.

Also, Unless I do

[[PFUser currentUser] fetchInBackgroundWithBlock:^(PFObject *object, NSError *error) { ...

every time I ask for

[[PFUser currentUser] objectWithKey:@"SOMEKEY"]

I get nil in return, why is this happening?

Upvotes: 0

Views: 182

Answers (1)

Wain
Wain

Reputation: 119021

Parse doesn't fetch for you automatically, except a few pieces of data in specific scenarios. Like, when a user logs in the current user will be fetched and will include the standard user data - but it won't include any custom data.

If you fetch an object then that objects details will be downloaded, but the details of related objects won't - unless you specifically request it to be included in the query that you make (using includeKey:).

It's generally best to always use fetchIfNeededInBackgroundWithBlock: if you aren't sure whether the data you need has been obtained yet. Not doing this shouldn't cause a crash but it will generally cause you issues with missing information. It's possible that the crash is related to parse using exceptions for navigation in the framework, but that's a guess and you might want to try contacting parse to see if you can get more details.

Upvotes: 2

Related Questions