2016-12-24 18 views
0

現在のプロジェクトに問題があります。ナビゲーションコントローラ[SWIFT 3]によってrootになったときに、tableviewがViewControllerでnilと表示される

このビューコントローラは以下のように設定されている
class MemoList : UIViewController, UITableViewDataSource, UITableViewDelegate{ 

@IBOutlet weak var myTableView: UITableView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     myTableView.delegate = self 
     #datasource is linked manually in the StoryBoard 
     ... 
    } 
} 

:私の主な焦点はTableViewControllerにオーバーレイボタンを作成することでしたが、私はのViewControllerを使用する方が簡単だったことを見て、その上のtableViewを設定先頭に 私の場合、プロジェットがナビゲーションコントローラーに根ざしている場合、テーブルビューは 'Memolist'のコンテキストでは表示されません(押したとき)。

この問題についてご意見はありますか?そして私はそれをどのように解決できますか?

おかげで、私にとっては

+0

あなたの 'UITableView'がまだnilの場合は' viewDidAppear'をチェックしますか? – Rikh

+0

実際にはい:/、私は自分のtableViewのプログラムを作成して私の問題を解決しますが、どこから問題が発生したのか分かりません。 –

+0

MemoListをナビゲーションコントローラにどのようにプッシュしましたか?手動で行う必要はありません。ストーリーボードのView Controllerを選択して、編集メニューの – Paulw11

答えて

0

は、問題は、私は私がセグエと

performSegue(withIdentifier: "myIdentifier", sender: self) 

を使用しようとした後、それが適切に働いていないとのtableViewはもはや皆無だった

present(myViewController, animated: true, completion: nil) 

を使用したことでした。

なぜ私はこの問題を持っていた: あなたがpresent()を使用する場合は、あなたがコードからView Controllerを初期化し、それはあなたのStoryboardに見ていません。 seguesを使用すると、Storyboardが使用され、もちろんあなたが行ったことがすべて表示されますInterface Builder

関連する問題