请问数组里的元素是字典时,怎么调用?

Toom Swift语言基础教程 最后由 wx_yidlpz21 于2016年06月11日回复

  • 1 解决
  • 2k 浏览

我用plist创建了一个数组,数组元素为 字典,怎么读取字典里的值?

array[index]["name"]

这样报错: cannot subscript a value of type 'AnyObject' with an index of type 'String'

  • wx_yidlpz21 2016年06月11日 回答 #1楼
  • 从plist文件读取数据有个约定俗成的Model类,如下图所示:专职于字典转模型(因为plist中存的都是键值对)


    1.jpg

    红色框中这个方法是过滤多余的键值对 省的你会崩溃

    使用的时候,生成一个JKModel类的实例,用访问成员变量的方式就可以获取到plist文件中对应key的value了。


    至于读取字典中的值,

    2.png

    而你的报错就很好理解了,你的数组元素是plist文件数据,是AnyObject类型的,不知道value的具体类型就没办法通过下标语法直接读出value。可以如下所示,做一下类型转换

    let dict = array[index] as Dictionary

     print(dict["name"]!)


    还是建议使用字典转模型来读取plis文件数据.

  • 1 评论