我有一个像这样的对象数组:
private var _allusers = [Int:User]()
此处用户是自定义类。现在,我正在调用PHP文件并首次填充_allusers对象数组而没有任何问题。但是,如果我尝试在_allusers对象数组的开头插入一些东西,我会遇到问题。
一般来说,这是可能的。
private var _intarray = [Int]()
self._intarray.insert(myObject, atIndex:0)
如果我尝试对我所拥有的对象数组执行相同操作,则它不起作用。
self._allusers.insert(myObject, atIndex:0)
它给出了一个错误,说明插入不是一个函数。
有人可以帮我这个吗?如何在现有对象数组的开头插入元素?
答案 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)