2016-08-19 62 views
0

如何將多個Strings添加到Array中的一個索引?我有:Xcode上的Swift - 具有多個值的數組索引

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

隨着,card5在索引0,card6在索引1,card7在索引2,依此類推。我想將卡片5,卡片6,卡片7和卡片8分配給索引0,卡片9,卡片10,卡片11,卡片12分配給索引1.可以請某人告訴我如何完成此操作?

有沒有什麼辦法可以做到這一點,而無需製作陣列陣列,只需將卡分配給索引值?

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

使數組的數組後,我只有2 indicies因爲我需要,但我似乎無法稍後致電String在Xcode。我有一個UIButton隨機數字,我想將數字連接到其中一張卡片所代表的圖像上,但我希望其中的四個具有相同的值。

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

我在這一行說

「不能值類型 '[字符串]' 轉換爲指定的類型 '字符串' 遇到一個錯誤。

var firstCardString: String = self.cardNamesArray[firstRandomNumber] 

然而,當我在String上面放了一個[ ],在上面的第一行中,它運行,我在下一行發生錯誤,說

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

「不能轉換價值型‘[字符串]’預期參數類型‘串’。」

我真的很感激任何幫助!謝謝。

回答

0

你試圖讓字符串,但你的對象是你

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

你的代碼改成這樣

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

你需要生成隨機數的兩倍,第一個數組一個數組陣列,第二個像你這樣的卡。

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) 
相關問題