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

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

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

有任何想法吗?

4

3 回答 3

5

通过使用这个:

[Dictionary<String, String>()]

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

正确的做法是将括号移到方括号后:

[Dictionary<String, String>]()

这声明了一个 type 数组Dictionary<String, String>,并实例化它。

创建它的等效方法是:

Array<Dictionary<String, String>>()
于 2014-11-04T13:28:21.057 回答
1

只需将括号放在外面:

var persons = [Dictionary<String, String>]()
于 2014-11-04T13:26:05.347 回答
-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

于 2014-11-04T13:28:11.580 回答