我创建了一个自定义的NSObject子类,所以我可以调用像MyObject1 * shared = [GlobalObjects myObject1];在此处接受的答案中引用:where to store "global" objects in iOS
我已经设置了,并且它正确地进行了调用,但由于某种原因,它不允许我访问PFUser * currentUser = [PFUser currentUser],因为它返回null。在我调用GlobalObjects myObject1之前,我能够毫无问题地访问用户详细信息,但只要它跳转到我的子类,它就是null。我已经包含了Parse sdk并且没有错误,所以我无法弄清楚这里发生了什么。
任何人都有关于我可能做错的指导吗?
供参考:
初步观点:
currentUser = [PFUser currentUser];
NSLog(@"%@",currentUser); // Outputs correctly
PFObject *settings = [GlobalObjects getSettings];
·H
#import <Foundation/Foundation.h>
#import <Parse/Parse.h>
@interface GlobalObjects : NSObject
+(void)load;
+(PFObject*)getSettings;
@end
的.m
#import "GlobalObjects.h"
#import <Parse/Parse.h>
static PFObject* _getSettings = nil;
@implementation GlobalObjects
+(void)load {
PFUser *currentUser = [PFUser currentUser];
NSLog(@"%@",currentUser); // Returns null always (I need to get the user here)
}
+(PFObject*)getSettings {
return _getSettings;
}
@end
答案 0 :(得分:2)
至于我的问题 - 在+(void)加载方法中。从文档到+ [NSObject load] - 初始化顺序:
所以你试图在第2步获得PFUser实例,但Parse框架只能在第4步正确初始化。所以只需将你的调用从load方法转移到某个地方。