当前位置:  开发笔记 > 编程语言 > 正文

为什么我还需要打开Swift字典值呢?

如何解决《为什么我还需要打开Swift字典值呢?》经验,为你挑选了1个好方法。



1> courteouselk..:

字典访问器返回其值类型的可选项,因为它不"知道"运行时字典中是否存在某些键.如果它存在,则返回相关的值,但如果不存在则返回nil.

从文档:

您还可以使用下标语法从字典中检索特定键的值.因为可以请求不存在值的键,所以字典的下标返回字典值类型的可选值.如果字典包含所请求键的值,则下标返回包含该键的现有值的可选值.否则,下标返回nil ...

为了正确处理这种情况,你需要打开返回的可选项.

有几种方法:

选项1:

func test(){
    let type = "x"
    if var data = X.global[type] {
        // Do something with data
    }
}

选项2:

func test(){
    let type = "x"
    guard var data = X.global[type] else { 
        // Handle missing value for "type", then either "return" or "break"
    }

    // Do something with data
}

选项3:

func test(){
    let type = "x"
    var data = X.global[type] ?? "Default value for missing keys"
}

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有