【问题标题】:Get PFUser reference objects获取 PFUser 引用对象
【发布时间】:2023-03-12 08:30:01
【问题描述】:

我有一个带有附加字段的 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
}

如何接收用户对象及其属性?

【问题讨论】:

    标签: swift parse-platform pfuser


    【解决方案1】:

    我尝试在 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)
                }                
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多