当 tableview 由导航控制器根目录时,它在 ViewController 中显示为 nil [SWIFT 3]



我当前的项目有问题。一开始,我的主要重点是在tableviewController中创建一个覆盖按钮,但我发现使用viewController并在其上设置一个tableview更容易:

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
        ...
    }
} 

当将此视图控制器设置为初始控制器时,一切正常,但是在我的情况下,当Projet由导航控制器扎根时,TableView在" Memolist"的上下文中似乎是零的(当推开时它)。

您对这个问题有任何想法吗?我该如何解决?

谢谢,

对我来说,问题是我使用了

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

我尝试使用segue和

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

它的工作正常,桌面不再是零。

为什么我有一个问题:使用present()时,您可以从代码初始化View Controller,并且不会在Storyboard上观看。当您使用segues时,它使用Storyboard,当然可以查看您在Interface Builder

中所做的一切

您也可以:

UIStoryboard(name: "StoryboardName", bundle: nil).instantiateViewController(withIdentifier: "ViewControllerId")

这是从故事板创建视图控制器的,因此该表视图现在是初始化的

最新更新