我正在以这种方式检索所有用户详细信息..
myarray
现在我在myCell中有“关注”按钮..以这种方式保存..
var userIds = [String]()
var userNames = [String]()
var profilePics = [PFFile]()
var gender = [String]()
override func viewDidLoad() {
super.viewDidLoad()
var userQuery = PFUser.query()
userQuery?.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
if let objects = objects {
self.userIds.removeAll(keepCapacity: true)
self.userNames.removeAll(keepCapacity: true)
self.profilePics.removeAll(keepCapacity: true)
for object in objects {
if let user = object as? PFUser {
if user.objectId != PFUser.currentUser()?.objectId {
self.userIds.append(object.objectId as String!)
self.userNames.append(object["fullName"] as! String!)
self.profilePics.append(object["profilePicture"] as! PFFile!)
self.gender.append(object["gender"] as! String!)
}
}
}
}
self.tableView.reloadData()
})
}
因为我想与“追随者”类中的每个对象建立关系,这就是为什么我希望它们以指针的形式出现..有什么建议吗?
答案 0 :(得分:1)
如果要创建指向另一个PFObject(包括PFUser)的指针,则需要实际指向该对象。
我在您的查询中看到您没有向阵列添加任何PFUser,但是您正在获取它们的对象ID。
由于标记仅用于Int,因此不能使用它来传递String(Parse objectID是)。
您可以子类化UIButton并创建一个新属性来处理来自parse的objectID,然后使用它来执行带有objectID的查询,并将指针保存到该查询的结果中。或者,您只需将第一个查询中的对象添加到本地数组,然后使用按钮的标记来获取要指向的对象的索引。
更新
由于您拥有所需的PFuser的objectId,您可以获取它并更新您的关注者:
let getOjbectByIdQuery = PFQuery(className: "User")
getOjbectByIdQuery.whereKey("objectId", equalTo: userIds[sender.tag])
getOjbectByIdQuery.getFirstObjectInBackgroundWithBlock { (foundObject: PFObject?, error: NSError?) -> Void in
if let object = foundObject {
var followers:PFObject = PFObject(className: "Followers")
followers["user"] = object
followers["follower"] = PFUser.currentUser()
follwers.saveInBackground()
}
}