解析文档特别指出,您不应为PFObject的子类覆盖init。对于在代码中创建的对象没关系,因为您可以像这样覆盖对象方法。

@implementaion CustomObject : PFObject <Subclassing>

+ (instancetype) object {
    CustomObject *me = [super object];

    // init some instance variables or whatever

    return me;
}

@end

这种情况在以下情况下有效:
CustomObject * myThing = [CustomObject对象];

但是从查询中获取对象时似乎没有调用对象。
PFQuery *query = [CustomObject query];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (!error) {
        for(int i = 0; i < objects.count; i++){
            CustomObject *myThing = objects[i];
            // object method was never called...
        }
    }
}];

那么...如何在获取自定义PFObject时对其进行初始化?

最佳答案

可能您尚未注册子类。

只需在之前致电[CustomObject register]

[Parse setApplicationId:@"your id"
                  clientKey:@"your key"];

或添加到子类
+ (void) load{
    [self register];
}

关于ios - 获取时如何初始化PFObject子类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26913607/

10-12 20:40