我有[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]
......等等。
答案 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!)"])
如果您需要一些详细说明,请按照以下参考。您将得到答案。
答案 2 :(得分:-1)
您可以像这样定义任何数组。
var myArr= [];
然后你可以在任何执行点添加你想要的任何数据(任何数据类型或对象),如下所示
myArr.push(anyDataEntry);
或者您可以像这样访问数组
for (i in myArr)
{
//myArr[i]
}