从.xib文件呈现视图控制器

时间:2017-03-30 11:49:27

标签: swift swift3

我正在尝试从.xib文件中呈现另一个视图控制器,但它不允许我。我在函数内部收到错误:func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)

这就是我宣布cell

的方式
 let cell = Bundle.main.loadNibNamed("CustomViewCell", owner: self, options: nil)?.first as! CustomViewCell

然后我打电话给:

cell.delegate = self

此致电错误:Cannot assign value of type "MyViewController" to type "shareInfo?"

然后在我的.xib文件中,我确实有:

protocol shareInfo : NSObjectProtocol {
    func loadNewScreen(controller: UIViewController) -> Void
}

课程内CustomViewCell

weak var delegate: shareInfo?

然后方法:

@IBAction func shareLocation(_ sender: Any) {
        let vc = UIActivityViewController(activityItems: [testLabel.text!], applicationActivities: nil)
        if delegate?.responds(to: Selector(("loadNewScreen"))) != nil {
            delegate?.loadNewScreen(controller: vc)
        }
    }

任何人都知道发生了什么事?

提前致谢!

修改

此外,我在MyViewController

中也有此功能
func loadNewScreen(controller: UIViewController) {
        self.present(controller, animated: true) { () -> Void in

        };
    }

我正在关注此solution

好的,我已经解决了我的问题 - >必须将协议添加到MyViewController : ... , shareInfo, ... { ... }中。

0 个答案:

没有答案