我的代码,loadFriendsList()在viewWillAppear中调用:
func loadFriendsList() {
if PFUser.currentUser() != nil {
print("loading friends... ")
let query = PFQuery(className:"Friends")
query.whereKey("user", equalTo: PFUser.currentUser()!)
query.includeKey("friendsList")
query.getFirstObjectInBackgroundWithBlock{(object: AnyObject?, error: NSError?) -> Void in
print("object: ", object)
if object!.friendsList == nil {
print("object.friendsList is nil")
}
if object!.friendsList != nil {
if object!.friendsList.isEmpty {
print("object.friendsList isEmpty")
}
if object!.friendsList.count == 0 {
print("object has 0 count")
}
if object!.friendsList != nil {
print("object.friendsList is not nil")
}
}
if (error == nil) {
if (object == nil){
print("User is prbably new and has no friends yet")
}
else{
}
if ((object?.friendsList != nil)){
self.friendsList = (object?.friendsList)!
print("There are some friends so copy them: ")
self.setPickerFriends()
}
else{
print("setting picker friends with no friends")
self.setPickerFriends()
}
}
else {
print("Error: ", error)
}
}
}
}
print所记录的对象("对象:",对象);看起来像这样:
object: Optional(<Friends: 0x175ae580, objectId: CEoOoYrm38, localId: (null)> {
friendsList = (
);
user = "<PFUser: 0x176bf220, objectId: p1P3920Caa, localId: (null)>";
})
问题是object.friendsList总是为零。如果我在解析数据库中与朋友一起填充它,切换视图并返回,它仍然是零。
我不确定为什么它总是为零,因为当我打印它时对象会显示出来。我原以为它只是一个空数组,因为新用户没有任何朋友。
但是,如果我完全关闭应用程序并重新启动它,列表中的朋友现在就在那里,它不再是零。基本上它只在第一次创建新用户时才会发生,并在下次打开应用程序时修复。
有人知道发生了什么以及我该如何解决这个问题?非常感谢任何帮助,谢谢。