【发布时间】:2015-11-08 10:05:13
【问题描述】:
我在 Swift 中遇到以下问题。首先,我声明一个数据结构,如下所示:
var books = [String : Dictionary<String, Dictionary<String, Dictionary<String, Array<Dictionary<String, String>>>>>]()
我稍后像这样初始化 var:
books = [
"Fiction" : [
"Genre Fiction" : [
"Mystery" : [
"Classics" : [
["Title" : "Ten Little Indians",
"Author" : "Agatha Christie",
"read" : "no"],
["Title" : "A Study in Scarlet",
"Author" : "Arthur Conan Doyle",
"read" : "no"],
]
]
]
]
]
请注意,编译器不会抱怨它。后来,我创建了一个新字典,我想将它附加到最里面的数组中,如下所示:
var bookDict = Dictionary<String, String>()
bookDict = ["title" : dict.valueForKey("title") as! String,
"author": dict.valueForKey("author") as! String,
"read" : dict.valueForKey("read") as! String ]
books["category"]["genre"]["focus"]["set"].append(bookDict)
但是,我收到一个编译器错误“无法使用类型参数列表调用附加 (Dictionary )”。这让我很困惑,因为 book 数据结构被声明为使得最里面的数组是 Dictionary
我错过了什么?
【问题讨论】:
标签: arrays swift dictionary append