如何将PFObject设置为单例

时间:2015-02-16 23:50:02

标签: objective-c parse-platform singleton

我尝试创建一个单例,我可以从我在会员类中保存的对象中访问整个应用程序。它基本上是在Users对象之外保存和管理的对象的所有配置文件详细信息。

这是我的单例代码,但是在我实际从Parse获得响应之前,init中的返回发生了,因此currentMember的数据没有设置,我的NSLogs没有触发。

有没有办法让返回等待从Parse返回?

#import "MyMember.h"


@implementation MyMember

@synthesize currentMember;

#pragma mark Singleton Methods

+ (id)sharedMember {
    static MyMember *sharedMyMember = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedMyMember = [[self alloc] init];
    });
    return sharedMyMember;
}

- (id)init {
    if (self = [super init]) {
        PFQuery *query = [PFQuery queryWithClassName:@"Members"];
        [query whereKey:@"memberUser" equalTo:[PFUser currentUser]];
        [query getFirstObjectInBackgroundWithBlock:^(PFObject *member, NSError *error) {
            if (member) {
                currentMember = member;
                NSLog(@"My Member %@",member);
            } else{
                NSLog(@"No Member");
            }
        }];
    }
    return self;
}

- (void)dealloc {
    // Should never be called, but just here for clarity really.
}

@end

0 个答案:

没有答案