2016-07-20 11 views
1

基本的に私はtable view cellというカスタムから値を取得しようとしています。これは、それぞれが異なるtableViewCell classの5つのプロトタイプセルを作ったからです。しかし、私がしようとしているのは、上のセルからデータを読み取ることです。私は私のクラスと呼ばれています:TableViewCell1, TableViewCell2など...だからcellForRowAtIndexPathに、私はこのようなコードを持っている:スウィフト - テーブルビューのセルの値を読み取る

if indexPath.row == 1 { 
    let cell2 = tableView.dequeueReusableCellWithIdentifier("secondCell", forIndexPath: indexPath) as! TierCell2  

    return cell2 
} 

この作品を、私はまた、アクセスできるようにするには、このようにそれを行うことを試みました上の値(運がない) - オプションの値のエラーだけが発生します。

let cell1:TableViewCell1 = TableViewCell1() 
cell2.PriceText.text = cell1.PriceText.text 

これをどのように達成するかについてのアイデアはありますか?

+0

さらに詳しい情報は、達成しようとしているものと同じように役立ちます。現在表示されているセルに対してtableViewCellsが呼び出されるので、データソースから探している情報を取得する必要があります。しかし、達成しようとしている情報を提供していると.... – Azzaknight

+0

@Azzaknight基本的には、ユーザーが特定のサービスの価格層を設定していることを示す価格層ビューを表示しようとしています。私は、辞書の配列から値を表示し、それをテーブルビューに表示したい。しかしそれは問題ではありません。値が2回表示されないようにするか、tableViewに空白がないようにするには、値が上のセルに表示されているかどうかを確認する必要があります。多くのように:! allTiers [0] [2] =ゼロ&& cellAbove.PriceText.text = allTiers [0] [2] { cell2.PriceText.text = allTiers [0] [2]} 場合 – askaale

+0

私の次の質問 - なぜ5つの別々のカスタムテーブルセル?なぜ5つのラベルを持つカスタムセルが階層化されたデータを表示しないのですか? – Azzaknight

答えて

0

次に、表示する5つの価格ティアラベルを持つ1つのカスタムテーブルビューセルを作成することをお勧めします。次に、cellForRowAtIndexPathで、カスタムクラスとしてセルをデキューし、辞書にあるすべてのティア情報を入力し、そのセルを返します。

+0

私は今それをしました。しかし、私は[Int:Int]の辞書を持っているので、キー(降順)で辞書を並べ替える必要があり、それをデータと共にtableViewに表示します。どのくらい私はこれを行うだろうか? – askaale

+0

私の次の質問 - あなたのデータ構造はなぜ辞書ですか?辞書に保存しているデータは何ですか? – Azzaknight

関連する問題