gpt4 book ai didi

swift - 如何在 Swift 的 tableView 中仅显示从字典中获取的某些单元格

转载 作者:行者123 更新时间:2023-11-30 13:51:43 24 4
gpt4 key购买 nike

我正在使用字典来填充表格 View 。尝试仅显示具有特定用户 ID 的单元格,但它也会返回不具有该用户 ID 的单元格。我已经设法只计算具有特定 userID 的字典中的项目,例如,如果我的字典有 8 个条目,并且我只需要显示具有不同 userID 的最后 2 个条目,它会返回 2 个空单元格(这是其中的前 2 个)字典。

如何才能只获取具有特定 userID 的单元格?

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

var returnCount:Int = 0
let currentUserId = NSUserDefaults.standardUserDefaults().stringForKey("userId")

for place in places {
if place["userID"] == currentUserId {
returnCount++
}
}

return returnCount

}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

let currentUserId = NSUserDefaults.standardUserDefaults().stringForKey("userId")

let currentPlacesUserId = places[indexPath.row]["userID"]

if currentPlacesUserId == currentUserId {

cell.textLabel!.text = places[indexPath.row]["name"]
cell.detailTextLabel?.text = places[indexPath.row]["issue"]

}

return cell
}

最佳答案

事实上,您不应该在 tableView 委托(delegate)方法中执行这种逻辑。尝试在加载此数组时从该 userId 获取地点。

如果您确实想继续使用当前使用的方法,请尝试以下操作:

不确定这是否有效,但您正在创建单元格,即使它没有您想要的用户 ID。试试这个:

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

let currentUserId = NSUserDefaults.standardUserDefaults().stringForKey("userId")

let currentPlacesUserId = places[indexPath.row]["userID"]

if currentPlacesUserId == currentUserId {

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

cell.textLabel!.text = places[indexPath.row]["name"]
cell.detailTextLabel?.text = places[indexPath.row]["issue"]

return cell
} else{
return nil
}
}

关于swift - 如何在 Swift 的 tableView 中仅显示从字典中获取的某些单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34189466/

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