我尝试创建一个单例,我可以从我在会员类中保存的对象中访问整个应用程序。它基本上是在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