2014-09-21 55 views
3

我可以很容易地写在斯威夫特多维数组时,所有的尺寸都是同一类型的,例如:斯威夫特不同类型的多维数组

var totalTime : [[Int]] 

如何将我得到的第一个维度是字符串和第二维Int?

+0

这没有意义:多维数组是一个数组的数组,因此整数数组将是整数数组的数组。 “第二维”是什么意思? – AstroCB 2014-09-21 01:56:36

+0

我可以用两个数组完成我所需要的工作,但对于是否有能力在一个多维数组中执行此操作我很好奇。我想要一个维度存储字符串值,另一个维度存储Int值。例如,totalTime [0]将返回“AstroCB”,totalTime [0] [0]将检索555.只是试图看看有什么可能。 – 2014-09-21 02:01:03

+0

啊,我明白了。下面的erdekhayser解决方案可能会更好。 – AstroCB 2014-09-21 02:02:54

回答

6

我会推荐使用元组数组来代替。你想要可以使用Any类型的数组来完成,但这不是一个好主意。

相反,你的数组应该是[[(String,Int)]]。这也会比你想要做的更紧凑。

+0

这会导致编译错误我试着var arrayTest:[[(String,Int)]] – 2014-09-21 02:05:52

+1

@ user3412502不是确定为什么。此代码在我的游乐场中工作正常: var arrayTest:[[(String,Int)]] = []; arrayTest.append([(“Hello”,2)]); println(arrayTest);' – erdekhayser 2014-09-21 02:12:32

+0

谢谢,我错过了'= []'。这回答了我的问题!谢谢! – 2014-09-21 02:30:19