2014-11-04 20 views
0
var persons = [Dictionary<String, String>()] 
println(persons.count) 

打印1。我发现数组在初始化时有一个空的字典,但有没有办法避免这种情况,并且有0个元素而不是1个?后来我需要能够做到:斯威夫特:字典阵列初始化后计数为1,但应该有0

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

任何想法?

+0

是不是在http://stackoverflow.com/a/26735091/1187415驳倒回复您刚才的问题?你是否正确地复制了建议的代码? – 2014-11-04 13:27:02

+0

@MartinR你的权利,但正如我写这个问题,我认为这是一个不同的问题。我们可能会关闭它。 – 2014-11-04 13:33:45

+0

我感到内疚......这是我回答了另一个问题,我应该注意到,考虑到答案几乎相同。 @MartinR,你认为我应该在这里删除我的答案吗? – Antonio 2014-11-04 14:16:32

回答

5

通过使用这样的:

[Dictionary<String, String>()] 

要创建一个元素Dictionary<String, String>()

正确的方法是在方括号后移动将括号内的数组:

[Dictionary<String, String>]() 

声明是一个Dictionary<String, String>类型的数组,并将其实例化。

创建的等效方法是:

Array<Dictionary<String, String>>() 
1

只是以外的地方括号:

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

+1作品,谢谢! – 2014-11-04 13:26:59