Swift引用字典键和值而不知道键

Swift引用字典键和值而不知道键,第1张

概述我有一个字典数组定义为 var users = [[String:String]]() 数组中的Dictionary是一个简单的用户名是/否标志      [[1stUser:Y],[2ndUser:N],[3rdUser:N]] 在我的TableView单元配置中,我定义了 let userRecord = users[indexPath.row] as NSDictionary 并需要 ass 我有一个字典数组定义为

var users = [[String:String]]()

数组中的Dictionary是一个简单的用户名是/否标志
     [[1stUser:Y],[2ndUser:N],[3rdUser:N]]

在我的tableVIEw单元配置中,我定义了

let userRecord = users[indexPath.row] as NSDictionary

并需要
assign cell.textlabel.text = username(字典的键)

检查标志(是/否),如果是> cell.accessoryType = UItableVIEwCellAccessoryType.checkmark

在上面的例子中,我应该只在1stUser旁边打勾.

问题是如何在不事先知道它们的情况下引用字典键(‘1stUser’,’2nduser’等)并检查值(Y / N)?我所看到的所有Swift字典示例都假设我们知道检索其值的实际密钥(例如用户[“1stUser”]没有帮助,因为我事先并不知道1stUser有一个Y).

解决方法 你应该总是知道你的字典键.如果不这样做,那么您构建的数据就是错误的 – 未知数据应始终位于字典的值中,而不是键.

请考虑使用带有两个键的字典:“username”和“flag”.

示例代码:

var users = [[String:String]]()users.append(["username" : "Aaron","flag" : "yes"])users.append(["username" : "AspiringDeveloper","flag" : "yes"])let userRecord = users[1]let username = userRecord["username"]!let flag = userRecord["flag"]!

或者,您可以构建一个基本类并完全避免使用字典:

class User {    let username: String    let flag: Bool    init(username:String,flag:Bool) {        self.username = username        self.flag = flag    }}var users = [User]()users.append(User(username: "Aaron",flag: true))users.append(User(username: "AspiringDeveloper",flag: true))let userRecord = users[1]let username = userRecord.usernamelet flag = userRecord.flag
总结

以上是内存溢出为你收集整理的Swift引用字典键和值而不知道键全部内容,希望文章能够帮你解决Swift引用字典键和值而不知道键所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存