美文网首页
Swift字典中可以插入nil

Swift字典中可以插入nil

作者: 我是明明哥 | 来源:发表于2016-04-12 22:19 被阅读289次

    自己用swift开发才这么几次,并不熟悉所以在摸索过程中,在今天做东西的过程中由于需要用到字典里边需要插入nil,心安理得的使用如下写法感觉没有问题

    let array = [["key1":"val1","key2":"val2","key3":nil],["key1":"val1","key2":"val2","key3":nil]]

    但我错了,就因为这种写法今天浪费了我很长时间查找为什么我的xCode在编译的时候为什么总是电脑内存百分之百的使用率,但xCode尽让没有报出是哪里出现的问题,我几乎都要疯了,可以就是不知道为啥,经过各种排查,然后重装xCode还是没有能解决掉,后来突然想起可能和这种写法有关将整块代码注释掉,编译运行,没错编译通过了并且正常运行,后来就疯狂查资料,查有关字典里存储nil的资料,后来终于找到相关内容,其实正确写法应该是在定义这种数据时候应该定义好数据类型,如以下代码是可以正常用的

    let array:[[String,AnyObject?]] = [["key1":"val1","key2":"val2","key3":nil],["key1":"val1","key2":"val2","key3":nil]]

    没错就是这种代码才可以用,你肯定注意到AnyObject?这个内容,如果不写出结构的定义那么编译器也不会发现有什么问题,可能swift的编译器目前还没考虑到这些,不过以后可能编译器会把之前说的那种写法兼容上,自己可以解析数据结构类型或是能够在xCode抛出警告告诉我们那样写是不对的,然后给出建议写法。

    相关文章

      网友评论

          本文标题:Swift字典中可以插入nil

          本文链接:https://www.haomeiwen.com/subject/rnswlttx.html