gpt4 book ai didi

ios - 用户好友列表tableview为空解析查询未返回任何数据

转载 作者:行者123 更新时间:2023-11-29 01:57:59 25 4
gpt4 key购买 nike

这是我的swift代码

class UserViewController: UITableViewController {

var userArray: NSMutableArray = []

@IBOutlet weak var friendListTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()

retrieveMessages()

}
func retrieveMessages() {
var query = PFUser.query()
if let username = PFUser.currentUser().username {
query.whereKey("username", equalTo: username)
query.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in

for object in objects! {
let usernames:String? = (object as PFObject)["Friends"] as? String
println(usernames) // It prints nil
if usernames != nil {
self.userArray.addObject(usernames!)
}
}
dispatch_async(dispatch_get_main_queue()) {
self.friendListTableView.reloadData()
}

}

}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

// MARK: - Table view data source

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Potentially incomplete method implementation.
// Return the number of sections.
return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete method implementation.
// Return the number of rows in the section.
return userArray.count
}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

// Update - replace as with as!

let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell

cell.textLabel?.text = userArray[indexPath.row] as? String

return cell
}

我在“ friend ”列的“用户”类中使用 PFRelation 保存了当前用户的 friend 列表,下面是我如何保存它

class addUserViewController: UIViewController {

@IBOutlet weak var usernameTextField: UITextField!

@IBAction func addUser(sender: AnyObject) {
var query = PFUser.query()
query.whereKey("username", equalTo: usernameTextField.text)
println("Pass")
query.getFirstObjectInBackgroundWithBlock{ (object:PFObject!, error: NSError!) -> Void in

if error == nil {
let currentUser = PFUser.currentUser()
let friendList = currentUser.relationForKey("Friends")

var addFriend = object
if addFriend != nil {
friendList.addObject(addFriend)
println("added")
}
PFUser.currentUser().saveInBackgroundWithBlock{
(succeeded: Bool!, error: NSError!) in

if error != nil {
println("Error")
}
else {
println("saved")
}
}
}

}
}

现在我想检索当前用户的好友列表以在 tableview 中显示它,但问题是我无法更新 tableview 以显示当前用户的好友列表,它是空的并且 tableview 中根本没有用户列表。我的代码适用于此方法吗?如果不是请帮我更正此代码

这是解析中我的用户类表的屏幕截图 Parse user list

这是我当前用户的 friend 在解析中使用 PFRelation 保存的屏幕截图 Parse friend user list感谢任何帮助,谢谢!

最佳答案

我已经有一段时间没有使用 Parse 了,但是如果我没有记错的话,第一个查询(在第一 block 代码中)没有正确构建。应该是这样的:

 var query:PFQuery = PFQuery(className: "User")
if let username = PFUser.currentUser().username {
query.whereKey("username", equalTo: username)
query.findObjectsInBackgroundWithBlock {....}
}

此处的区别在于您查询当前用户的用户名而不是对象本身。这有帮助吗?

关于ios - 用户好友列表tableview为空解析查询未返回任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30640842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com