我在storyboard中有一个带有以下文件的viewController 导入UIKit
class jokesviewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return UITableViewCell()
}
} 和另一个控制器,我通过制作它的对象来使用这个控制器,(这是一个JSQmessagesController类,其中我创建了jokesviewController类的对象) 我使用的代码是
var jokeviewController :jokesviewController?
//在班级begnning
某个功能中的某个地方
jokeviewController = jokesviewController()
self.view.addSubview(jokeviewController!.view)
jokeviewController!.view.backgroundColor = UIColor.grayColor()
我的问题是我可以使用jokeviewController!.view给我一个使用的视图但是当我尝试获取jokeviewController时!.tableview它说我得到了一个零值。 我已经尝试过两种方法将tableView放在视图中,而没有容器视图的tableview放在控制器中。 任何猜测
答案 0 :(得分:1)
首先,始终对控制器(或类)使用大写。
其次,您按原样实例化视图控制器,但IB插座和其他内容存在于故事板中。所以,而不是
jokeviewController = jokesviewController()
使用
jokeviewController = UIStoryboard(name: "yourStoryboard", bundle: nil).instantiateViewControllerWithIdentifier("giveYourViewControllerIdentifier") as! jokesviewController
您将完成所有设置。
要在故事板中为视图控制器提供标识符,请在故事板中选择视图控制器,选择第三个选项卡并将故事板ID设置为您想要的任何内容。