【发布时间】:2016-03-15 12:32:06
【问题描述】:
我有课
class Presenter<T: UIViewController where T: protocol<ViewInput, ViewController>>: NSObject
{
override init()
{
super.init()
Layer.sharedInstance.service.addListener(self)
}
}
我希望Presenter 再符合一个Protocol 并写一个扩展:
extension Presenter: OneMoreProtocol
{
func doSomething()
{
self.update()
}
}
但这会引发一个错误:While emitting IR for source file ..../Presenter.swift (Segmentation fault)
协议外观:
@objc protocol OneMoreProtocol: AnyObject
{
optional func doSomething()
}
因此,如果我删除扩展名,则上面描述的错误:addListener 在这种情况下会引发此错误:
参数类型“Presenter”不符合预期的类型“OneMoreProtocol”
我怎样才能以正确的方式符合要求?
【问题讨论】: