Swift:字典数组在初始化后计数为1但应该为0

时间:2014-11-04 13:21:15

标签: swift ios8 xcode6.1 swift-array swift-dictionary

var persons = [Dictionary<String, String>()]
println(persons.count)

打印1。我看到数组在初始化时有一个空字典,但有没有办法避免它并且有0个元素而不是1?后来我需要能够做到:

persons.append(["firstName": "Foo", "lastName": "Bar"])

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

使用这个:

[Dictionary<String, String>()]

您正在创建一个包含一个元素Dictionary<String, String>()

的数组

正确的方法是在方括号后移动括号:

[Dictionary<String, String>]()

声明一个类型为Dictionary<String, String>的数组,并实例化它。

创建它的等效方法是:

Array<Dictionary<String, String>>()

答案 1 :(得分:1)

只需将括号放在外面:

var persons = [Dictionary<String, String>]()

答案 2 :(得分:-1)

不应该是

var persons = Dictionary<String, String>()
println(persons.count)

var persons = [String : String]()
println(persons.count)

但不能同时使用两种语法?

https://developer.apple.com/library/mac/documentation/General/Reference/SwiftStandardLibraryReference/Dictionary.html