ios - 具有 bool 值的字典的 Swift 优雅条件

标签 ios swift option-type

抱歉,当我写完这个问题时,我注意到它因为一个愚蠢的语法错误而无法正常工作......我还是发布了这个因为

  • 答:我觉得有用
  • B:也许人们有更好的主意...

试图让事情变得更优雅......我有一个可选的 [String:Bool] 字典和一个 String 键。现在,在一种情况下我想问:

  • 我有字典吗?

  • 请求的 key 是否存在?

  • 这个键的值是“真”吗?

解决方案:

var topics:[String:Bool]?

let topicName="Pictures"

if self.topics?[topicName] ?? false {
    //do stuff
}

最佳答案

如果只想存储一位信息,为什么要使用字典?

只存储一组字符串不是更容易吗?添加您要在字典中存储 true 的所有字符串。然后只测试您的字符串是否包含在集合中。

也不需要可选的。只需使用一个空集而不是 nil

var topics: Set<String>
...
if topics.contains("Pictures") { ... }

关于ios - 具有 bool 值的字典的 Swift 优雅条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32501328/

相关文章:

ios - Swift - 如何使用从 ViewController 到特定 TabBarController 的按钮

ios - iAds 没有显示在我的 iPhone 应用程序中

ios - 当委托(delegate)不是 UIViewController 时不调用 UIImagePickerControllerDelegate 方法

ios - UIPopoverArrowDirection.down 不适用于 iOS

rust - 如何在具有空值的结构中设置字段?

ios - 从其他 View Controller 为 uiimageview 设置 uiimage

ios - 访问另一个类中的 socket (Swift)

ios - 使用 UITextView 自动调整 UITableViewCell 的大小,其中文本同时与垂直中心对齐?

ios - 类型没有下标成员?

arrays - 在 Swift 中使用 NSCoding 归档可选结构数组?