当ViewController的根目录由导航控制器[SWIFT 3]时,tableview似乎为零

时间:2016-12-24 15:25:10

标签: ios swift uitableview

我的当前项目存在问题。 一开始我主要关注的是在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似乎为零(推送时)它)。

你对这个问题有什么看法吗?我该如何解决?

谢谢,

1 个答案:

答案 0 :(得分:1)

对我来说问题是我用过

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

我尝试使用segue和

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

它工作正常,tableView不再是零。

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

中所做的一切

你也可以:

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

这将从Storyboard创建视图控制器,以便现在初始化tableView