我的当前项目存在问题。 一开始我主要关注的是在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似乎为零(推送时)它)。
你对这个问题有什么看法吗?我该如何解决?
谢谢,
答案 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