Swift on Xcode - 具有多个值的数组索引

时间:2016-08-19 05:18:27

标签: ios arrays swift xcode indexing

如何在Strings的一个索引中添加多个Array?我有:

var cardNamesArray:[String] = ["card5", "card6", "card7", "card8", "card9", "card10", "card11", "card12"]

使用,card5在索引0,card6在索引1,card7在索引2,依此类推。我想将card5,card6,card7和card 8分配给索引0,将card 9,card 10,card11,card12分配给索引1.有人可以告诉我该怎么做吗?

有没有办法可以在不制作数组的情况下将这些卡分配给索引值?

var cardNamesArray:[[String]] = [["card5", "card6", "card7", "card8"], ["card9", "card10", "card11", "card12"]]

制作阵列数组后,我只需要2个指示,但是我似乎无法在Xcode中调用String。我有UIButton随机数字,我想将数字连接到其中一张卡片所代表的图像,但我希望其中的四张具有相同的值。

var firstRandomNumber: Int = Int(arc4random_uniform(2))

我在这行上遇到错误

  

“无法将值类型'[string]'转换为指定类型'String'。

var firstCardString: String = self.cardNamesArray[firstRandomNumber]

然而,当我在上面第一行的[ ]附近放置一个String时,它就会运行,我会在下一行发出错误

self.firstCardImageView.image = UIImage(named: firstCardString)
  

“无法将值类型'[string]'转换为预期的参数类型'string'。”

我真的很感激任何帮助!感谢。

2 个答案:

答案 0 :(得分:2)

你需要生成两次随机数,第一个是阵列数组,第二个是你的卡。

var cardNamesArray:[[String]] = [["card5", "card6", "card7", "card8"], ["card9", "card10", "card11", "card12"]]
var firstRandomNumber: Int = Int(arc4random_uniform(2))
var secondRandomNumber: Int = Int(arc4random_uniform(4))
var firstCardString: String = self.cardNamesArray[firstRandomNumber][secondRandomNumber]
self.firstCardImageView.image = UIImage(named: firstCardString)

答案 1 :(得分:0)

您尝试获取字符串,但您的对象是您在

之前声明的数组
var cardNamesArray:[[String]] = [["card5", "card6", "card7", "card8"], ["card9", "card10", "card11", "card12"]]

将您的代码更改为此

var firstObjFromArray: Array = self.cardNamesArray[0]
var firstCardString: String = firstObjFromArray[firstRandomNumber]