2017-05-12 26 views
0

配列を呼び出してテーブルビューに表示しようとしています。唯一の問題は配列(numbersWithCreationDate)がタイプ[(Int,String)]であることです。 numbersWithCreationDatesをここでどうやって使うのですか?したがって、テキストを印刷することができます。その言葉は文字列を取ることしかできないので、これはうまくいきません。(Int、String)を配列に変換する文字列に変換する

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

「int、String'型の配列の宣言を表示してください。 – shallowThought

+0

これは役立ちますかvar numbersWithCreationDates = [(Int、String)]() –

+2

タプルの配列を持っています。それを明確に述べるように質問を編集し、あなたの質問のコードをあなたの質問に入れてください。 –

答えて

1

タプルを取得:

// 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

あなたはStringデータ型に変換する必要があります。

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

は、文字列を取得します。

これを試してみてください:

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

説明:

UITableViewCellUILabelで構成します。 textプロパティがUILabelの場合は、Stringとなりますが、Number(またはInt)を渡すことになります。 Stringイニシャライザに電話すると、これはtextのプロパティUILabelによって予期されるStringにこのNumberを変換します。

+0

'(int、String)'型の引数リストを持つ 'String'型の初期化プログラムを呼び出すことができないというエラーメッセージが表示される状態 –

0

タプルの一部のみを使用したい場合や、特定の方法でフォーマットする場合は、.0.1を使用してパーツを区切ります。例:

cell.textLabel?.text = "Number: \(numbersWithCreationDates[indexPath.row].0) Date: 
\(numbersWithCreationDates[indexPath.row].1)" 
関連する問題