2017-05-12 306 views
0

我想調用要在表視圖中打印的數組。唯一的問題是數組(numbersWithCreationDate)類型爲[(Int,String)]。我如何獲得numbersWithCreationDates在這裏工作。所以文本可以打印。它說這不起作用,因爲它只能用一個字符串。將(Int,字符串)轉換爲字符串以打印數組

cell.textLabel?.text = numbersWithCreationDates[indexPath.row] 
+1

請顯示類型爲「int,String」的數組的聲明。 – shallowThought

+0

這是否幫助var numbersWithCreationDates = [(Int,String)]() –

+2

所以你有一個元組數組。你應該編輯你的問題來清楚地說明問題,並將你的評論中的代碼放入你的問題中。 –

回答

1

獲取的元組:

// Get the tupel at index of the current row 
let tupel = numbersWithCreationDates[indexPath.row] 

獲取字符串:

// Get the second value of the tupel, the string value ... 
let string = tupel.1 
cell.textLabel?.text = string 
+0

錯誤消息即將到來的狀態無法用類型爲'(int,String)'的參數列表爲類型'String'調用初始化程序。 –

+0

相應地更新了答案。 – shallowThought

+0

這會獲得數組中的所有條目嗎?它是元組1。 –

0

你需要將其轉換成字符串數據類型。

試試這個:

cell.textLabel?.text = String(numbersWithCreationDates[indexPath.row])

說明:

UITableViewCellUILabel。 財產UILabel預計String而您通過Number(或Int)。當您撥打String初始值設定項時,它會將此Number轉換爲String,這是text的性質UILabel的預期值。

+0

錯誤消息即將到來的狀態不能使用類型爲'(int,String)'的參數列表爲類型'String'調用初始化程序 –

0

如果您只想使用元組的一部分,或者想要以某種方式對其進行格式化,則可以使用.0.1來分隔零件。例如:

cell.textLabel?.text = "Number: \(numbersWithCreationDates[indexPath.row].0) Date: 
\(numbersWithCreationDates[indexPath.row].1)"