获取 PFUser 引用对象

Get PFUser reference objects

我有一个带有附加字段的 PFUser 子类:

class User: PFUser {

    @NSManaged var myLists:       [BuyList]
    @NSManaged var receivedlists: [BuyList]
    @NSManaged var users:         [User]

    override class func initialize() {
        struct Static {
            static var onceToken : dispatch_once_t = 0;
        }
        dispatch_once(&Static.onceToken) {
            self.registerSubclass()
        }
    }    
}

BuyList 是 PFObject 的子类。

我创建了 BuyList 对象,用它做了一些可怕的事情并附加到 User.myLists。之后我打电话:

User.currentUser()!.saveInBackground()

在 Parse 仪表板中,我在 'myLists' 字段中有这个值:

[{"__type":"Pointer","className":"BuyList","objectId":"D5sGbsEhio"}]

但是设备对象是:

<BuyList: 0x7bab9b80, objectId: D5sGbsEhio, localId: (null)> {
//Empty body here
}

如何接收用户对象并且它是 属性 的?

我尝试在 HomeScreen 打开之前加载用户,所以我将 open 方法替换为:

private func openHomeScreen() {            
        self.loadList(0) { () -> Void in
            Utils.setRootController("HomeController")
        }            
    }

private func loadList(var index: Int, completition: () -> Void ) {
        User.currentUser()!.myLists[index].fetchIfNeededInBackgroundWithBlock { (object: PFObject?, error: NSError?) -> Void in
            index++
            if index == User.currentUser()!.myLists.count {
                completition()
            } else {
                self.loadList(index, completition: completition)
            }                
        }
    }