如何在Swift中创build一个空数组?

我真的很困惑我们在Swift中创build数组的方式。 你能告诉我有多less种方法来创build一个空的数组与一些细节?

干得好:

var yourArray = [String]() 

以上也适用于其他types,而不仅仅是string。 这只是一个例子。

给它增加值

我想你最终会想为它添加一个值!

 yourArray.append("String Value") 

要么

 let someString = "You can also pass a string variable, like this!" yourArray.append(someString) 

通过插入添加

一旦你有一些值,你可以插入新的值,而不是追加。 例如,如果你想在数组的开始插入新的对象(而不是追加到最后):

 yourArray.insert("Hey, I'm first!", atIndex: 0) 

或者你可以使用variables来使你的插入更灵活:

 let lineCutter = "I'm going to be first soon." let positionToInsertAt = 0 yourArray.insert(lineCutter, atIndex: positionToInsertAt) 

你可能最终想删除一些东西

 var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"] yourOtherArray.removeAtIndex(1) 

当你知道数组中的值是什么时(即,当你知道它的索引值时),上面的工作很好。 由于索引值从0开始,第二项将在索引1。

在不知道指数的情况下删除价值

但是,如果你不这样做? 如果你的其他数组有数百个值,而你所知道的是你想删除一个等于“RemoveMe”的值?

 if let indexValue = yourOtherArray.indexOf("RemoveMe") { yourOtherArray.removeAtIndex(indexValue) } 

这应该让你开始!

 var myArr1 = [AnyObject]() 

可以存储任何对象

 var myArr2 = [String]() 

只能存储string

你可以使用

 var firstNames: [String] = [] 

有两种主要的方法可以在swift中创build/初始化数组。

 var myArray = [Double]() 

这将创build一个双精度数组。

 var myDoubles = [Double](count: 5, repeatedValue: 2.0) 

这将创build一个5个双打的数组,全部用2.0的值初始化。

Swift 3

有三种方法可以在Swift中创build一个空数组,总是首选简写语法

方法1:速记语法

 var arr = [Int]() 

方法2:数组初始化器

 var arr = Array<Int>() 

方法3:数组字面值

 var arr:[Int] = [] 

方法4:信贷到@BallpointBen

 var arr:Array<Int> = [] 

swift中的数组被写为** Array <Element> **,其中Element是数组允许存储的值的types。

数组可以初始化为:

let emptyArray = [String]()

它显示了它的一个stringtypes的数组

根据初始值设定项的types,emptyArrayvariables的types被推断为[String]。

用于创build包含元素的string数组

var groceryList: [String] = ["Eggs", "Milk"]

groceryList已经初始化了两个项目

groceryListvariables被声明为“string值数组” ,写成[String]。 这个特定的数组指定了一个值types的string,它只允许存储string值。

有数组的各种性质,如:

– 检查数组是否有元素(如果数组是空的或不是)

isEmpty属性(布尔型)用于检查count属性是否等于0:

 if groceryList.isEmpty { print("The groceryList list is empty.") } else { print("The groceryList is not empty.") } 

– 追加(添加)数组中的元素

您可以通过调用数组的append(_ :)方法将新项添加到数组的末尾:

 groceryList.append("Flour") 

groceryList现在包含3个项目。

或者,使用加法赋值运算符(+ =)追加一个或多个兼容项目的数组:

 groceryList += ["Baking Powder"] 

groceryList现在包含4个项目

 groceryList += ["Chocolate Spread", "Cheese", "Peanut Butter"] 

groceryList现在包含7个项目

您可以通过传递数组索引来删除数组内容,也可以删除全部内容

  var array = [String]() print(array) array.append("MY NAME") print(array) array.removeFirst() print(array) array.append("MY NAME") array.removeLast() array.append("MY NAME1") array.append("MY NAME2") print(array) array.removeAll() print(array) 

以下是Swift 4中的一些常见任务,您可以使用它作为参考,直到您习惯了事物。

  let emptyArray = [String]() let emptyDouble: [Double] = [] let preLoadArray = Array(repeating: 0, count: 10) // initializes array with 10 default values of the number 0 let arrayMix = [1, "two", 3] as [Any] var arrayNum = [1, 2, 3] var array = ["1", "two", "3"] array[1] = "2" array.append("4") array += ["5", "6"] array.insert("0", at: 0) array[0] = "Zero" array.insert(contentsOf: ["-3", "-2", "-1"], at: 0) array.remove(at: 0) array.removeLast() array = ["Replaces all indexes with this"] array.removeAll() for item in arrayMix { print(item) } for (index, element) in array.enumerated() { print(index) print(element) } for (index, _) in arrayNum.enumerated().reversed() { arrayNum.remove(at: index) } let words = "these words will be objects in an array".components(separatedBy: " ") print(words[1]) var names = ["Jemima", "Peter", "David", "Kelly", "Isabella", "Adam"] names.sort() // sorts names in alphabetical order let nums = [1, 1234, 12, 123, 0, 999] print(nums.sorted()) // sorts numbers from lowest to highest