Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在符合“标题”的对象初始化时设置委托_Ios_Swift - Fatal编程技术网

Ios 在符合“标题”的对象初始化时设置委托

Ios 在符合“标题”的对象初始化时设置委托,ios,swift,Ios,Swift,我试图设置ParseController的委托时出错,这是我的VC上的一个属性 protocol ParseControllerDelegate: NSObjectProtocol { var parseController: ParseController! {get set} //TODO:- Instead of this function, i should use a closure, but couldnt get the sytnax right! func updateUI()

我试图设置ParseController的委托时出错,这是我的VC上的一个属性

protocol ParseControllerDelegate: NSObjectProtocol {

var parseController: ParseController! {get set}
//TODO:- Instead of this function, i should use a closure, but couldnt get the sytnax right!
func updateUI()
}

然后,当我试图在我的VC头中设置它时,我得到一个错误

var parseController:ParseController! = ParseController(delegate: self)
我可以使用此方法在viewDidLoad中进行设置,但理想情况下,我希望将委托设置在它所在的位置。我得到的错误是

键入“MainVC->->MainVC!”不符合协议“ParseControllerDelegate”

MainVC是我的viewController

我尝试过的事情:

将自己转换为ParseControllegate 自己 自己 我确信它很简单,但我想不出正确的语法。

想出来了! 正确的语法是:

lazy var parseController:ParseController = ParseController(delegate: self)
*注意:我不得不从我的协议中删除委托要求,因为我得到了一个编译器警告,协议要求中不允许使用lazy,并且在我的VC中声明为lazy后,委托要求就没有得到满足

lazy var parseController:ParseController = ParseController(delegate: self)