我对swift很新,我根本不了解Obj C,所以很多资源都很难理解。基本上我正在尝试使用我的查询中的PFUsers填充字典,然后将PFUser [“friends”]设置为此字典。简单地说,我想在我的PFUser类中有一个朋友列表,其中每个朋友都是PFUser和一个字符串。 谢谢!
var user = PFUser()
var friendsPFUser:[PFUser] = []
var friendListDict: [PFUser:String] = Dictionary()
var query = PFUser.query()
query!.findObjectsInBackgroundWithBlock {
(users: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// The find succeeded.
println("Successfully retrieved \(users!.count) users.")
// Do something with the found objects
if let users = users as? [PFUser] {
friendsPFUser = users
for user in friendsPFUser{
friendListDict[user] = "confirmed"
}
user["friends"] = friendListDict //this line breaks things
user.saveInBackground()
}
} else {
// Log details of the failure
println("Error: \(error!) \(error!.userInfo!)")
}
}
要清楚,此代码编译但是当我添加
时user["friends"] = friendListDict
我的应用崩溃了。
答案 0 :(得分:0)
对于那些可能遇到此问题的人。 " NSInternalInconsistencyException"有理由" PFObject包含未被缓存的容器项。" 出于安全原因在Parse上向用户添加对象(例如数组或词典),将要修改的此类字段的用户必须是当前用户。 尝试注册并在块中使用addObject,不要忘记保存它! 这有助于解决我遇到的类似问题。