在swift中附加到自定义对象数组

时间:2016-06-28 14:46:36

标签: swift

我有一个像这样的对象数组:

private var _allusers = [Int:User]()

此处用户是自定义类。现在,我正在调用PHP文件并首次填充_allusers对象数组而没有任何问题。但是,如果我尝试在_allusers对象数组的开头插入一些东西,我会遇到问题。

一般来说,这是可能的。

private var _intarray = [Int]()
self._intarray.insert(myObject, atIndex:0)

如果我尝试对我所拥有的对象数组执行相同操作,则它不起作用。

self._allusers.insert(myObject, atIndex:0)

它给出了一个错误,说明插入不是一个函数。

有人可以帮我这个吗?如何在现有对象数组的开头插入元素?

2 个答案:

答案 0 :(得分:4)

问题是_allusers不是数组,而是Dictionary(无序类型)。根据您的需要,您可以使用元组数组,例如:

private var _allusers = [(Int, User)]() // this is array

答案 1 :(得分:0)

要扩展Shadow Of所说的内容,在这种情况下,您似乎在声明您希望将一组用户编入索引,从0到N.您当前定义的是一个字典,它对整个任意索引的用户进行索引Int的范围,因此您可以在没有用户[1]或用户[2]的情况下使用户[0],用户[3],用户[8]有差距。如果你真的有连续的索引,只需改变你的声明来声明一个数组而不是一个字典。

private var _allusers = [User]()

现在,_allusers是一个数组,用户从0开始索引。

_allusers.insert(newUser, atIndex:0)