Reputation: 345
I have a class, Business:
header:
#import <UIKit/UIKit.h>
#import <Parse/Parse.h>
@interface Business : PFObject <PFSubclassing>
+ (NSString *)parseClassName;
@property (retain) NSString *name;
@property (retain) NSString *shortName;
@property (retain) PFFile *logo;
@property (retain) PFFile *banner;
@end
implementation:
#import "Business.h"
#import <Parse/PFObject+Subclass.h>
@implementation Business
@dynamic name;
@dynamic shortName;
@dynamic logo;
@dynamic banner;
+ (NSString *)parseClassName
{
return @"Business";
}
@end
And a class, Relation
header:
#import <Parse/Parse.h>
#import "Business.h"
@interface Relation : PFObject <PFSubclassing>
@property (retain) PFUser *user;
@property (retain) Business *business;
@end
implementation
#import "Relation.h"
#import <Parse/PFObject+Subclass.h>
@implementation Relation
@dynamic business;
@dynamic user;
+ (NSString *)parseClassName
{
return @"Relation";
}
@end
I'm making a Relation Query, hoping to find Businesses that are related to certain users, like so:
PFQuery *query = [Relation query];
[query includeKey:[Business parseClassName]];
[query whereKey:@"user" equalTo:[PFUser currentUser]];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
NSMutableArray *businesses = [NSMutableArray array];
if (objects.count) {
for (Relation *relation in objects) {
[businesses addObject:relation.business];
}
}
block(businesses, objects, error);
}];
It does appear that I am successfully retrieving the businesses that I want to retrieve. However, it seems that the Business class is missing some of its columns. I made sure to make use of PFQuery's include key so that the Business class would return all of its properties, but the only property it seems to include is its object ID.
(lldb) po businesses <__NSArrayM 0x174050b60>( <Business: 0x170118810, objectId: 7Sdh8a0d8, localId: (null)> { } )
Sorry I've included so much code, I just feel like my error could be anywhere. Why isn't my query returning the full Business object?
Thanks!
Upvotes: 3
Views: 1330
Reputation: 345
Ah, I was being stupid. It was all in the
[Business parseClassName]
I was requesting key "Business" instead of "business"
Upvotes: 1