2015-01-14 40 views
3

我有一个类,经营范围:解析PFQuery包括键不灵

头:

#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 

实现:

#import "Business.h" 
#import <Parse/PFObject+Subclass.h> 

@implementation Business 

@dynamic name; 
@dynamic shortName; 
@dynamic logo; 
@dynamic banner; 

+ (NSString *)parseClassName 
{ 
    return @"Business"; 
} 

@end 

和A类,关系

头:

#import <Parse/Parse.h> 
#import "Business.h" 

@interface Relation : PFObject <PFSubclassing> 

@property (retain) PFUser *user; 
@property (retain) Business *business; 

@end 

实施

#import "Relation.h" 
#import <Parse/PFObject+Subclass.h> 

@implementation Relation 

@dynamic business; 
@dynamic user; 

+ (NSString *)parseClassName 
{ 
    return @"Relation"; 
} 

@end 

我正在做一个关系查询,希望找到与某些用户的业务,就像这样:

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); 
}]; 

它不会出现,我成功地检索企业我想要检索。但是,似乎Business类缺少一些列。我确保使用PFQuery的包含密钥,这样Business类将返回其所有属性,但似乎包含的唯一属性是其对象ID。

(lldb) po businesses <__NSArrayM 0x174050b60>(<Business: 0x170118810, objectId: 7Sdh8a0d8, localId: (null)> { }) 

对不起,我已经包含这么多的代码,我只是觉得我的错误可能在任何地方。为什么我的查询没有返回完整的Business对象?

谢谢!

回答

1

啊,我当时很蠢。这是所有在

[Business parseClassName] 

我请求键“业务”,而不是“生意”

+1

是的,很清楚,'includeKey:'需要的列名。 –