从字典数组到数组的对象

时间:2016-10-04 10:48:03

标签: ios arrays swift dictionary

如果我的NSUserDefaults中有一系列词典:

Session

将所有名称放入像这样的数组中的最简单方法是什么

["name":"John", "birthplace":"New York"]
["name":"Eric", "birthplace":"London"]
["name":"Sven", "birthplace":"Stockholm"]
["name":"Pierre", "birthplace":"Paris"]

1 个答案:

答案 0 :(得分:3)

首先,您应该从用户默认值中获取正确类型的数组[[String: String]]

let defaults = NSUserDefaults.standardUserDefaults()
if let peopleArray = defaults.arrayForKey("people") as? [[String: String]] {
  ...
}

然后,您可以使用flatMap (或map,如果您确定每个字典都有密钥name来提取名称:

peopleArray.flatMap { $0["name"] }