我真的对在Swift中创建数组的方式感到困惑。您能否告诉我,有多少种方法可以创建一个带有细节的空数组?
我真的对在Swift中创建数组的方式感到困惑。您能否告诉我,有多少种方法可以创建一个带有细节的空数组?
Answers:
干得好:
var yourArray = [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)
或者,您可以使用变量使插入更加灵活:
let lineCutter = "I'm going to be first soon."
let positionToInsertAt = 0
yourArray.insert(lineCutter, atIndex: positionToInsertAt)
您可能最终想删除一些东西
var yourOtherArray = ["MonkeysRule", "RemoveMe", "SwiftRules"]
yourOtherArray.remove(at: 1)
当您知道该值在数组中的位置时(即,当您知道其索引值时),上述方法非常有用。当索引值从0开始时,第二个条目将在索引1处。
在不知道索引的情况下删除值
但是,如果不这样做怎么办?如果yourOtherArray具有数百个值,而您只想删除一个等于“ RemoveMe”的值,该怎么办?
if let indexValue = yourOtherArray.index(of: "RemoveMe") {
yourOtherArray.remove(at: indexValue)
}
这应该让您开始!
迅捷3
有三(3)种方法可以在Swift中创建空数组,而速记语法方式始终是首选。
方法1:速记语法
var arr = [Int]()
方法2:数组初始化
var arr = Array<Int>()
方法3:具有数组文字的数组
var arr:[Int] = []
方法4:贷记到@BallpointBen
var arr:Array<Int> = []
var arr: Array<Int> = []
。[T]
是Array<T>
快速创建/初始化数组有2种主要方法。
var myArray = [Double]()
这将创建一个Doubles数组。
var myDoubles = [Double](count: 5, repeatedValue: 2.0)
这将创建一个由5个double组成的数组,所有数组均以2.0值初始化。
var myDoubles = [Double](repeating: 2.0, count: 5)
-注意到的参数顺序的变化和在标签中的变化repeatedValue
到repeating
如果要声明一个空的字符串类型数组,可以用5种不同的方法:
var myArray: Array<String> = Array()
var myArray = [String]()
var myArray: [String] = []
var myArray = Array<String>()
var myArray:Array<String> = []
任何类型的数组:
var myArray: Array<AnyObject> = Array()
var myArray = [AnyObject]()
var myArray: [AnyObject] = []
var myArray = Array<AnyObject>()
var myArray:Array<AnyObject> = []
整数类型的数组:-
var myArray: Array<Int> = Array()
var myArray = [Int]()
var myArray: [Int] = []
var myArray = Array<Int>()
var myArray:Array<Int> = []
这是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
swift中的数组写为** Array <Element> **,其中Element是允许数组存储的值的类型。
数组可以初始化为:
let emptyArray = [String]()
它表明它是一个字符串类型的数组
从初始化程序的类型推断出emptyArray变量的类型为[String]。
用于创建带有元素的字符串类型的数组
var groceryList: [String] = ["Eggs", "Milk"]
groceryList已初始化为两个项目
groceryList变量被声明为“字符串值数组”,写为[String]。这个特定的数组指定了String的值类型,只允许存储String值。
数组有多种特性,例如:
-检查数组是否有元素(如果数组为空)
isEmpty property(Boolean)用于检查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个项目
根据Swift 5
// An array of 'Int' elements
let oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15]
// An array of 'String' elements
let streets = ["Albemarle", "Brandywine", "Chesapeake"]
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
斯威夫特5
// Create an empty array
var emptyArray = [String]()
// Add values to array by appending (Adds values as the last element)
emptyArray.append("Apple")
emptyArray.append("Oppo")
// Add values to array by inserting (Adds to a specified position of the list)
emptyArray.insert("Samsung", at: 0)
// Remove elements from an array by index number
emptyArray.remove(at: 2)
// Remove elements by specifying the element
if let removeElement = emptyArray.firstIndex(of: "Samsung") {
emptyArray.remove(at: removeElement)
}
给出了类似的答案,但不适用于最新版本的Swift(Swift 5),因此这里是更新的答案。希望能帮助到你!:)
兼容于:Xcode 6.0.1+
您可以通过在声明中指定数组的元素类型来创建一个空数组。
例如:
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
希望这可以帮助任何绊到此页面的人。