删除lazy var显式类型会导致参数类型错误

时间:2016-04-11 15:55:51

标签: swift

我对此感到有点困惑,似乎删除了lazy var上的显式类型导致我的参数出现类型错误。这是代码行:

private lazy var apiBusinessService = DBApiEndPointBusinessService(UIDelegate: self, navigationDelegate: self)

我在那条线路上收到错误告诉我

Cannot convert value of type 'NSObject -> () -> DBFindATMBusinessService' to expected argument type 'DBApiEndPointBusinessServiceUIDelegate!'

现在,我已经在单独的扩展中将此类声明为UIDelegate,并以下列方式声明该变量:

private lazy var apiBusinessService: DBApiEndPointBusinessService = DBApiEndPointBusinessService(UIDelegate: self, navigationDelegate: self)

为什么删除显式类型会导致参数错误?我根本不确定如何解决这个问题,并非常感谢你的帮助。

编辑:所以我读过被评估的惰性变量必须显式声明它们的类型 - 使用初始化器将其委托设置为需要显式声明类型的情况吗?

0 个答案:

没有答案