协议不符合从通用父 class 继承的 class?
A protocol is not conforming to a class inherited from a generic parent class?
我正在尝试使 class 符合协议,但是我遇到了错误。这是代码:
class UserSearchViewController: GenericSearchViewController<User>
我正在尝试使其符合 buttontappeddelegate
:
extension UserSearchViewController: ButtonDidGetTappedDelegate {
func button(wasTappedInCell cell: UserCollectionViewCell) {
print("Cell Tapped")
}
}
将自己分配给委托时出现错误:
adapter.delegate = self
Cannot assign value of type 'UserSearchViewController.Type' to 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
}
因为您是在静态函数中执行此操作,所以您不能使用 self
来引用 VC 的实例。相反,您已经拥有 VC 的一个实例!这是 vc
.
只需将 vc
设置为代表而不是 self
:
adapter.delegate = vc
我正在尝试使 class 符合协议,但是我遇到了错误。这是代码:
class UserSearchViewController: GenericSearchViewController<User>
我正在尝试使其符合 buttontappeddelegate
:
extension UserSearchViewController: ButtonDidGetTappedDelegate {
func button(wasTappedInCell cell: UserCollectionViewCell) {
print("Cell Tapped")
}
}
将自己分配给委托时出现错误:
adapter.delegate = self
Cannot assign value of type 'UserSearchViewController.Type' to 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
}
因为您是在静态函数中执行此操作,所以您不能使用 self
来引用 VC 的实例。相反,您已经拥有 VC 的一个实例!这是 vc
.
只需将 vc
设置为代表而不是 self
:
adapter.delegate = vc