ParseModel-iOS
ParseModel-iOS copied to clipboard
"-[PFObject <FIELD NAME>]: unrecognized selector sent to instance" when accessing field of related object
I've got two ParseModel
subclasses: Foo
and Bar
.
Foo
holds an instance of Bar
like so:
@interface Foo : ParseModel
@property(nonatomic, strong) Bar *bar;
@end
@interface Bar : ParseModel
@property(nonatomic, strong) NSNumber *theAnswer;
@end
I fetch all Foo
s. I want to assert some properties about bars
PFQuery *query = [PFQuery queryWithClassName:@"Foo"];
query.cachePolicy = kPFCachePolicyCacheThenNetwork;
[query includeKey:@"bar"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
// Print information about foos.
Foo *foo = objects[0];
expect(foo.bar).to.beInstanceOf([Bar class]); // FAILS: expected Bar but was actually PFObject
expect(foo.bar.theAnswer).to.equal(@42); // -[PFObject theAnswer]: unrecognized selector sent to instance...
}];
What's the expected behaviour here? Must I marshall PFObjects
in and out of those properties myself?
Oh, I didn't know you had to call +registerParseModel
on every ParseModel class!
Perhaps the README could have a section on this.
Okay... this is tré strange. +registerParseModel
did make my test succeed yesterday, but now it doesn't work...