10553


iPhone標準の音楽アプリのような複数階層のテーブルビューを作成したいと思うのですが  
1. `ViewController`を作成(名前は`ViewController`)し、その上に`TableView`を置く（アルバム一覧のページとします）  
2. 同じものをもう一つ作成(名前は`nextViewController`)する（曲一覧のページとします）  
3. 1で作成した`ViewController`を2で作成した`ViewController`と接続（セグエ）する  
4. 最初のテーブル（アルバム一覧）に以下のようなコードを追加する
[code]

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var newVC = segue.sourceViewController as! nextViewController
    }
    
    func tableView(tableView: UITableView, didSelectRowAtIndexPath　indexPath:NSIndexPath!) {
        performSegueWithIdentifier("セグエ名",sender: nil)
    }
    
[/code]

これだけでは次の`View`へ移動することはできないのでしょうか？  
`var newVC = segue.sourceViewController as! nextViewController`  
この部分でCould not cast value of typeとエラー出力されます。

(`cellForRowAtIndexPath`や`numberOfRowsInSection`などのテーブル構成に必要なデータは入力し、正常に表示されていることを確認しました。)

何が足りないかご指導お願いいたします。


CC BY-SA 3.0
2015-05-24T05:18:10.847
10552
2015-05-24T06:27:51.987
2015-05-24T06:21:24.780
7362
9857
question
ios swift tableview
iPhone標準の音楽アプリのようなテーブルビューを作成したい。


`UIStoryboardSegue`クラスのプロパティ`sourceViewController`は、遷移前の`ViewController`のことです。あなたは遷移後のものと勘違いなさっているのではありませんか？  
遷移後の`ViewController`は、`destinationViewController`。

[UIStoryboardSegue Class
Reference](https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIStoryboardSegue_Class/index.html#//apple_ref/occ/cl/UIStoryboardSegue)

英語の勉強をするとき、英和辞典が手放せないのと同様に、iOSアプリの開発をするときは、かならずクラスリファレンスを読もう！


CC BY-SA 3.0
2015-05-24T06:27:51.987
10553
2015-05-24T06:27:51.987
7362
10552
answer