加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

代表未在SWIFT iOS中调用

发布时间:2020-12-14 04:48:48 所属栏目:百科 来源:网络整理
导读:我创建了2个视图,一个是使用协议和委托.对于第一个视图,不调用Delegate函数. 我的FirstView控制器:我在这里访问代理功能. import UIKitclass NextViewController: UIViewController,DurationSelectDelegate { //var secondController: DurationDel? var sec
我创建了2个视图,一个是使用协议和委托.对于第一个视图,不调用Delegate函数.

我的FirstView控制器:我在这里访问代理功能.

import UIKit

class NextViewController: UIViewController,DurationSelectDelegate {
    //var secondController: DurationDel?

    var secondController: DurationDel = DurationDel()

    @IBAction func Next(sender : AnyObject)
    {
        let nextViewController = DurationDel(nibName: "DurationDel",bundle: nil)
        self.navigationController.pushViewController(nextViewController,animated: true)
    }


    override func viewDidLoad() {
        super.viewDidLoad()

        secondController.delegate=self
    }

    func DurationSelected() {
        println("SUCCESS")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

我的SecondView控制器:我在这里创建委托.

import UIKit

protocol DurationSelectDelegate {
    func DurationSelected()
}


class DurationDel: UIViewController {

    var delegate: DurationSelectDelegate?

    @IBAction func Previous(sender : AnyObject) {
        //let game = DurationSelectDelegate()
        delegate?.DurationSelected()
        self.navigationController.popViewControllerAnimated(true)
    }


    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

解决方法

对我来说,看起来你正在推动一个你没有实际设置委托的视图控制器.如果更改“下一步”功能,则包括该行

nextViewController.delegate = self

你应该看到代表团的工作.在执行此操作时,您还可以删除“secondController”的创建,因为它看起来是多余的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读