你可以在索引0处拥有一个没有元素的数组

时间:2015-11-11 18:55:36

标签: arrays swift indexing

我想知道是否有可能在索引1中插入一个元素但不能在swift中插入索引0,如下所示:

            var array = [String]()

            array.insert("cow", atIndex: 1)

但每次我尝试时都会收到旧的致命错误:数组索引超出范围错误消息。

还有这个问题吗?任何建议将不胜感激!谢谢!

4 个答案:

答案 0 :(得分:2)

如果你把它作为一个选项数组并初始化你想要的元素数量,你就可以近距离接触。

var array = [String?]()
for i in 0...5 {
    array.append(nil)
}

array.insert("cow", atIndex: 1)

答案 1 :(得分:2)

如果你真的希望索引是特定的,而不仅仅是数组中的下一个可用位置,你应该使用带有Int键的字典。

var dict = [Int:String]()
dict[1] = "Cow"
dict[5] = "Chicken"

答案 2 :(得分:0)

您可以创建自定义列表。您需要添加一些检查以确保项目不为空或超出索引等。

<div ng-repeat="first in arr" ng-init="parentIndex=$index">
   here there is the first level $index
   <div ng-repeat="second in first.arr">
         in here I need access to the first level {{parentIndex}}
   </div>
</div>

答案 3 :(得分:0)

字面上你不能。

如果索引为0的数组为空,则可以将项目插入最大索引index(max) = array.count