如何将数据保存到数组?

时间:2015-05-26 05:35:57

标签: ios iphone arrays swift

我有[String]名为tableData。每当我从另一个视图控制器获取新数据时,我想将数据保存到该数组 我怎么能这样做?

var NewPlaylistName: String?
var NewImageCover: String?

var tableData = ["Evo X", "458", "GTR", "Evo X", "458", "GTR", "Evo X", "458", "GTR", "Evo X", "458", "GTR"]

override func viewDidLoad() {
    super.viewDidLoad()

    if NewPlaylistName != nil {
        tableData += ["\(NewPlaylistName!)"]
        tableImages += ["evox.jpg"]

        var newTableData = tableData
        println(newTableData)
    }
}

如果我运行上面的代码,我总是得到:

[Evo X, 458, GTR, Evo X, 458, GTR, Evo X, 458, GTR, Evo X, 458, GTR, sDfsad]

...即使我已经更新了数据,也是相同的数组总数 我想知道的是,如何向阵列添加更多数据?

例如:

[Evo X, 458, GTR, Evo X, 458, GTR, Evo X, 458, GTR, Evo X, 458, GTR, sDfsad, afasds]

...然后在有新数据时添加更多内容:

[Evo X, 458, GTR, Evo X, 458, GTR, Evo X, 458, GTR, Evo X, 458, GTR, sDfsad, afasds, kljkl]

......等等。

3 个答案:

答案 0 :(得分:1)

要将元素添加到数组的末尾,请使用.append()方法或+= operator。这两个陈述也是一样的:

myArray.append(23)
myArray += 29

数组[1,2,3,5,7,11,13,17]附加两个数字,改为:[1,2,3,5,7,11,13,17,23,29] + =运算符的优点是,如果两个数组中的元素类型相同,则可以附加另一个数组。

myArray += [31, 37]

结果为[1,2,3,5,7,11,13,17,23,29,31,37]在Swift中,运算符在类型上保持一致性,这可能会使一些传统程序员有点娇气。他们心目中的+=arithmetic operator。您不应该将它用于数组,仅用于递增数字,就像我们在for循环中所做的那样。 Swift通过使用+运算符

合并两个数组来保持这种一致性
var myStringArray = ["apple","pear","banana","raspberry"]
var myOtherStringArray = ["Pepperoni","Sausage"]
var jointArray = myStringArray + myOtherStringArray

此代码导致jointArray为[“apple”,“pear”,“banana”,“raspberry”,“Pepperoni”,“Sausage”]

要在特定位置插入元素,请使用.insert(at:index)方法,记住第一个索引为零:

myArray.insert(2,atindex:2)

这导致[1,2,2,3,5,7,11,13,17,23,29,31,37]

要更改元素,请为特定元素指定值,如下所示:

var myArray = ["apple","pear","banana","raspberry"]
myArray[1] = "blackberry"

将myArray更改为[“apple”,“blackberry”,“banana”,“raspberry”]。如果两个数组的类型相同,则可以更改值范围。

var myArray = ["apple","pear","banana","raspberry"]
myArray[1...2] = ["beagle bone","arduino"]

将[“apple”,“blackberry”,“banana”,“raspberry”]更改为[“apple”,“beagle bone”,“arduino”,“raspberry”]。范围值指定要替换的范围。您可以使用更少的项目替换

myArray[1..3] = ["blackBerry", "kit kat"]

将元素1,2,3更改为只有两个元素,使数组[“apple”,“beagle bone”,“arduino”,“raspberry”]变为[“apple”,“blackBerry”,“kit kat”]

参考文献:array-in-swift

这可能对您有所帮助:)。

答案 1 :(得分:0)

我会给你参考。只需按照

  STEP 1:If you want to  append more elements  to your array, you can  use the += operator, or the extend function.

   tableData += ["\(NewPlaylistName!)"]
   tableData.extend(["\(NewPlaylistName!)"])

如果您需要一些详细说明,请按照以下参考。您将得到答案。

Add an element to an array in Swift

答案 2 :(得分:-1)

您可以像这样定义任何数组。

var myArr= [];

然后你可以在任何执行点添加你想要的任何数据(任何数据类型或对象),如下所示

myArr.push(anyDataEntry); 

或者您可以像这样访问数组

for (i in myArr) 
{
    //myArr[i]
}