2016-10-25 2 views
0

私は実際に私の2番目の週の迅速な初心者です。私はシンプルなコードを構築して自分のことを教えようとします。TableView、Array and segue

私は次のコントローラに移動する細胞のいずれかをクリックした場合、私はクラスや配列、

var cell = [Cell]() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     cell = [ 
      Cell(Title:"cell1", number: 5), 
      Cell(Title:"cell2", number: 3), 
      Cell(Title:"cell3", number: 4), 
] 
     // Do any additional setup after loading the view, typically from a nib. 
      } 

を使用してテーブルを構築します。ここでの考え方は、すべてのセルはので、私は

セル[行] .NUMBER

次コントローラ

のにデータを渡したい唯一の違いは、セルの数である同じコントローラに私がかかります
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "next" { 
     if let indexPath = tableView.indexPathForSelectedRow { 
      let selectedcell = cell[indexPath.row] 
      let dest = (segue.destination as! UINavigationController).topViewController as! DetailViewController 

      dest.cells = selectedcell 


     }} 

私の問題は、DetailViewControllerでセルを使用することができなかったことです。おそらく、配列などのデータを渡すためのコードです。私はテーブルを構築するときにセルの数としてcells.numberを使いたい。私は、各セルが異なるコントローラを指し示すようにすることで簡単な方法を知っていますが、大きなデータがあればそれは永遠にかかります。

は、私は問題はあなたが(私は複数から、仮定)細胞 - の配列を含む変数に1つのCellオブジェクトを渡すためにしようとしている

dest.cells = selectedcell 

であると思い、あなたに

+0

dest.cellsのデータ型は何ですか?それはCellの配列ですか?セルの配列にCellインスタンスを割り当てることはできません –

+0

正確に何が問題になっていますか? – dirtydanee

+0

あなたの問題は何ですか? – jalone

答えて

0

に感謝します。

  • 1セルを渡したい場合は、宛先タイプをCellに修正してください。あなたは、細胞の配列を渡したい場合は

  • は、あなたが選択したことにより、定義された数など、多くの新しい細胞として先のビューコントローラでインスタンス化したい場合はどのポリシー

  • を私たちに伝える必要がありますcell.numberあなたが行っているようにセルを渡し、目的のビューコントローラで必要なuitableviewdelegate/datasourceを実装してインスタンス化します。

[コメントすることなく、長すぎるべき]