作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有通用 TableView Controller
class GenericTableViewController<T: GenericTableViewCell<U>, U>: UITableViewController {
// some stuff
}
与cellForRowAt indexPath
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as? GenericTableViewCell<U>
cell?.controller = self // Cannot assign value of type 'GenericTableViewController<T, U>' to type 'GenericTableViewController<GenericTableViewCell<_>, _>'
// some stuff
return cell ?? GenericTableViewCell<U>(style: .default, reuseIdentifier: nil)
}
在我的通用 TableView 单元类中,我有一个属性controller
,它代表通用 TableView Controller 本身:
class GenericTableViewCell<U>: UITableViewCell {
var item: U?
var controller: GenericTableViewController<GenericTableViewCell<U>, U>
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
controller = GenericTableViewController()
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@objc func handleMarkAsFavorite() {
controller.favoriteCell(cell: self)
}
lazy var starButton: UIButton = {
let button = UIButton(type: .system)
button.setImage(#imageLiteral(resourceName: "fav_star"), for: .normal)
button.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
button.addTarget(self, action: #selector(handleMarkAsFavorite), for: .touchUpInside)
return button
}()
}
我想将我的 TableView 单元格与 TableView Controller 链接到收藏夹单元格,然后将它们呈现在另一个 Controller (也称为收藏夹)中。但是,我收到错误消息,告诉我由于类型问题,它无法将单元与其 Controller 连接
Cannot assign value of type 'GenericTableViewController<T, U>' to type 'GenericTableViewController<GenericTableViewCell<_>, _>'
我是通用的新手,所以我很乐意提供任何帮助!
最佳答案
您可以按如下方式转换 self
,
cell?.controller = self as! GenericTableViewController<GenericTableViewCell<U>, U>
关于swift - 无法将类型 'GenericTableViewController<T, U>' 的值分配给类型 'GenericTableViewController<GenericTableViewCell<_>, _>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51725452/
我有通用 TableView Controller class GenericTableViewController, U>: UITableViewController { // some
我正在使用 Matt Gallagher 的 GenericTableViewController 想法来控制我的 UITableViews。我的数据源是一个 NSFetchedResultsCont
我是一名优秀的程序员,十分优秀!