私はSwift 3とXcode 8.2を使用しています。Swift 3 - 各テーブルビューセルに一意の情報を渡す方法
こんにちは、私は何をしようとしているのか、誰かが私の問題を肉体的に助けてくれることを期待して何をしたのかを完全に説明しようとします。
ここは私のストーリーボードです。
これは、タブバーコントローラの最初のタブです。それは、セルをクリックすると、一意の情報を持つ別のテーブルビューコントローラ(表2)を表示する、テーブルビューコントローラ(表1と呼ぶ)で構成されます。例として、表1に「フルーツ」、「野菜」、「タンパク質」というタイトルのセルがあり、「フルーツ」をクリックすると表2に「Apple」、「Orange」、「Pear」が表示されているとします。
私の最初の質問は:私のストーリーボードは、表1のセルを表1のクリックしたものに応じて一意にする動作を正確に設定していますか?あるいは、表2の細胞はすべて同じであろうか?
移動先:表1のコンテンツはすでに正常に生成されていますが、表2の固有のコンテンツが問題になります。
表2のコンテンツはタブバーコントローラの別のタブで生成され、まずそれをそのビューに渡す必要があります。
他のタブでは、このようなことをしようとしています。基本的には、表2にアクセスしようとしていて、そこにフィールドを設定しようとしていても入力されません。
let table2VC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "table2VC") as! Table2VC
table2VC.unique_title_label = UILabel()
table2VC.unique_title_label.text = "Some unique text"
表2 VCで
var unique_title_label : UILabel!
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
...
table2cell.titleLabel = unique_title_label
table2cell.mytvc = self
return table2cell
}
そしてTable2Cell中:
@IBOutlet weak var titleLabel : UILabel!
そして、私は、対応する表2のラベルにコンセントをリンクしました。ただし、これを実行すると、一意のラベルに値が設定されません。ストーリーボードには「ラベル」としか書かれていません。
ご協力いただければ幸いです。