gpt4 book ai didi

swift uitableview 仅显示用户数组的不同值

转载 作者:行者123 更新时间:2023-11-30 13:41:56 26 4
gpt4 key购买 nike

我正在开发一个带有解析功能的消息应用程序。

我想按发件人过滤查询结果,但每条消息的发件人都会重复。

我认为可以在数组上找到相同的值吗? (在此示例中为clientsArray)

有什么想法吗?

下面是我使用的代码。

var clientName = ""
var clientsArray:[String] = [String]()

override func viewDidLoad() {
super.viewDidLoad()

//Message List Query
let messages = PFQuery(className:"Message")
messages.whereKey("user", equalTo:PFUser.currentUser()!["retailer"]!)

messages.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in

if error == nil {

print("Successfully retrieved \(objects!.count) scores.")

if let objects = objects as? [PFObject] {

self.clientName.removeAll()

for object in objects {

if let clientName = object["clientName"] as? String {
self.clientsArray.append(clientName)
}

self.tableView.reloadData()

print(self.clientsArray)

}
}
} else {
print(error)
}
}
}

// MARK: - Table view data source

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}

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

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("clientsCell", forIndexPath: indexPath)
let clientName = clientsArray[indexPath.row]

if let clientNameLabel = cell.viewWithTag(301) as? UILabel {
clientNameLabel.text = clientName
}

return cell
}


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "showChat" {

if let destination = segue.destinationViewController as? newChatViewController {

destination.clientName = clientsArray[(tableView.indexPathForSelectedRow?.row)!]

//self.hidesBottomBarWhenPushed = true
}
}
}

enter image description here

最佳答案

如果不了解数据结构,真的很难回答。但我可以告诉你代码的问题。

 if let clientName = object["clientName"] as? String {
self.clientsArray.append(clientName)
}

您的 if-let 语句只是获取 ["clientName"] 的对象,这只是您的客户名称。然后,您将客户名称附加到 clientsArray 对象中。

这就是为什么你只看到卢克。

我可以帮助解决问题,但我需要知道您的数据结构是什么样的。你能打印出整个对象吗?

关于swift uitableview 仅显示用户数组的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35464504/

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