我正在尝试使类符合协议,但是却出现错误。这是代码:
class UserSearchViewController: GenericSearchViewController<User>
我正在尝试使其符合buttontappeddelegate
:
extension UserSearchViewController: ButtonDidGetTappedDelegate {
func button(wasTappedInCell cell: UserCollectionViewCell) {
print("Cell Tapped")
}
}
将自己分配给委托人时出现错误:
adapter.delegate = self
无法将类型'UserSearchViewController.Type'的值分配为类型'ButtonDidGetTappedDelegate吗?'
这是什么问题?任何帮助,将不胜感激。
class UserSearchViewController: GenericSearchViewController<User> {
static func searchV (Config: ConfigurationProtocol,
dataSource: DataSource,
viewer: User) -> UserSearchViewController
let vc = UserSearchViewController(Config, dataSource,viewer)
......
...
adapter.delegate = self
return vc
}
答案 0 :(得分:0)
因为要在静态函数中执行此操作,所以不能使用self
来引用VC的实例。相反,您已经有一个VC实例!是vc
。
只需将vc
设置为委托,而不是self
:
adapter.delegate = vc