Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Swift中创建空数组?_Ios_Arrays_Swift - Fatal编程技术网

Ios 如何在Swift中创建空数组?

Ios 如何在Swift中创建空数组?,ios,arrays,swift,Ios,Arrays,Swift,我真的对我们在Swift中创建数组的方式感到困惑。您能告诉我有多少种方法可以创建一个带有一些细节的空数组吗?在swift中创建/初始化数组有两种主要方法 var myArray = [Double]() 这将创建一个双精度数组 var myDoubles = [Double](count: 5, repeatedValue: 2.0) 这将创建一个包含5个double的数组,所有数组都以2.0的值初始化 var myArr1 = [AnyObject]() 可以存储任何对象 var myA

我真的对我们在Swift中创建数组的方式感到困惑。您能告诉我有多少种方法可以创建一个带有一些细节的空数组吗?

在swift中创建/初始化数组有两种主要方法

var myArray = [Double]()
这将创建一个双精度数组

var myDoubles = [Double](count: 5, repeatedValue: 2.0)
这将创建一个包含5个double的数组,所有数组都以2.0的值初始化

var myArr1 = [AnyObject]()
可以存储任何对象

var myArr2 = [String]()
只能存储字符串,请执行以下操作:

var yourArray = [String]()
上述方法也适用于其他类型,而不仅仅是字符串。这只是一个例子

为其添加值

我想你最终会想给它增值的

yourArray.append("String Value")

通过插入添加

一旦有了几个值,就可以插入新值而不是追加。例如,如果要在数组的开头插入新对象(而不是将其追加到末尾):

也可以使用变量使插入更灵活:

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

在不知道索引的情况下删除值

但是如果你没有呢?如果您的OtherArray有数百个值,您只知道要删除一个等于“RemoveMe”的值,该怎么办

这应该让你开始

您可以使用

var firstNames: [String] = []

swift中的数组写为**数组<元素>**,其中元素是允许数组存储的值的类型

数组可以初始化为:

让emptyArray=[String]()

它显示它是字符串类型的数组

emptyArray变量的类型根据初始值设定项的类型推断为[String]

用于创建包含元素的字符串类型数组

var groceryList:[String]=[“鸡蛋”、“牛奶”]

groceryList已用两项初始化

groceryList变量声明为“字符串值数组”,写为[string]。 此特定数组已指定字符串的值类型,它仅允许存储字符串值

数组有多种属性,如:

groceryList.append("Flour")
-检查数组是否有元素(数组是否为空)

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现在包含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 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)
}
有三(3)种方法可以用Swift和速记语法创建空数组,首选方法

方法1:速记语法

var arr = [Int]()
方法2:数组初始值设定项

var arr = Array<Int>()
方法4:积分归@BallpointBen

var arr:Array<Int> = []
var-arr: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

使用预定义计数启动阵列:

数组(重复:0,计数:10)

我经常在需要指定数量的模拟对象的映射语句中使用它。比如说,


让myObjects:[MyObject]=数组(重复:0,计数:10)。映射{uu返回MyObject()}

如果要声明字符串类型的空数组,可以用5种不同的方式:-

var myArray: Array<String> = Array()
var myArray = [String]()
var myArray: [String] = []
var myArray = Array<String>()
var myArray:Array<String> = []
var myArray:Array=Array()
var myArray=[String]()
var myArray:[字符串]=[]
var myArray=Array()
var myArray:Array=[]
任何类型的数组:-

    var myArray: Array<AnyObject> = Array()
    var myArray = [AnyObject]()
    var myArray: [AnyObject] = []
    var myArray = Array<AnyObject>()
    var myArray:Array<AnyObject> = []
var myArray:Array=Array()
var myArray=[AnyObject]()
var myArray:[AnyObject]=[]
var myArray=Array()
var myArray:Array=[]
整数类型的数组:-

    var myArray: Array<Int> = Array()
    var myArray = [Int]()
    var myArray: [Int] = []
    var myArray = Array<Int>()
    var myArray:Array<Int> = []
var myArray:Array=Array()
var myArray=[Int]()
var myArray:[Int]=[]
var myArray=Array()
var myArray:Array=[]

Swift 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()
//首选缩写形式
var emptyDoubles:[Double]=[]
//还允许使用完整的类型名
var emptyFloats:Array=Array()

希望这能帮助任何无意中进入本页面的人。

根据Swift 5

//一个“Int”元素数组
让oddNumbers=[1,3,5,7,9,11,13,15]
//“字符串”元素的数组
let streets=[“Albemarle”、“Brandywine”、“Chesapeake”]
//缩写形式是首选
var emptyDoubles:[Double]=[]
//还允许使用完整的类型名
var emptyFloats:Array=Array()

var-myArray:[String]=[]您应该阅读这篇文章,如果我想在数组中存储任何类型的对象,我该怎么办?var-myArray:[AnyObject]=[]谢谢,我可以这样声明`var-myArray=[AnyObject]()`?是的,这将生成一个“AnyObject”数组,允许您在其中放置几乎任何东西。除非您需要这样的数组,否则最好给它一个特定的值,如“var myArray=[String]()”。注意Swift 4将使用重复值初始化数组的语法更改为:
var myDoubles=[Double](重复:2.0,计数:5)
-注意参数顺序的变化和
repeatedV标签的变化
    var myArray: Array<Int> = Array()
    var myArray = [Int]()
    var myArray: [Int] = []
    var myArray = Array<Int>()
    var myArray:Array<Int> = []
// 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)
}
// Shortened forms are preferred
var emptyDoubles: [Double] = []

// The full type name is also allowed
var emptyFloats: Array<Float> = Array()