2017-03-09 3 views
2

すべてを貼り付けるにはあまりにも多くのコードが必要なので、あまりにも曖昧になります。私は何をすべきかという一般的な考えが必要なだけだと思う​​し、それを行うことができます。テーブルビューから3番目のビューコントローラへのスウィフトパスデータ

私は地元の企業のリストを使って美しいテーブルを作りました。あなたがそれをクリックすると、ビジネスに関するいくつかの素晴らしい情報とともに、DetailViewが開きます。私はそれの中のMapviewでThirdviewを引き起こすDetailViewのMAPボタンを持っています。

ThirdViewのTableViewのセルからデータを取得する際に問題があります。

マイビュー:

テーブルビュー=> DetailView => Thirdview

私Thirdviewで、私はテーブルビューからの情報を呼び出すことができますか?

また、DetailViewからThirdviewに情報を渡す方が簡単ですか?

ありがとうございます!

+1

私は、 'prepareForSegue'に、にデータを渡し、詳細ビューにデータを渡します3番目のビュー。 – dstepan

+0

だからprepareForSegueが最善の策です。 私はprepareForSegueの中に何を入れるべきかを理解する必要があると思います。助言がありますか? @dstepan – scttcrry

+0

私はあなたのためにそれを動作させる答えを投稿します。 – dstepan

答えて

0

テーブルビュー

var objects: [MyObject] = [] 

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

    let myObject = objects[indexPath.row] 

} 

override func prepare(for segue: UIStoryboardSegue, sender: Any) { 

    if segue.identifier == "mySegue" { 

     let detailVC = segue.destination as! MyDetailVC 

     detailVC.dataFromTableView = myObject 

    } 

} 

詳細ビュー

var dataFromTableView = MyObject() 

override func prepare(for segue: UIStoryboardSegue, sender: Any) { 

    if segue.identifier == "mySegue" { 

     let thirdVC = segue.destination as! MyThirdViewController 

     thirdVC.dataFromDetailView = dataFromTableView 

    } 

} 

3番目のビュー

var dataFromDetailView = MyObject() 

override func viewDidLoad() { 

    print(dataFromDetailView) 

} 
+1

あなたはすごいです。これは間違いなく私があなたの変数をすべて私のものに変換する方法を考え出したときにはっきりと働いていました。@dstepan – scttcrry

+0

うれしい! – dstepan

関連する問題