“UITableViewCell”类型的值没有成员

克里斯坦·利卡

我想创建一个cell变量并分配dequeueReusableCell以避免重复代码。我不知道我该怎么做。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        var cell : UITableViewCell!
        if let url = media.url {
            if Helper.isImageType(url: url)
            {
                cell = tableView.dequeueReusableCell(withIdentifier: newsFeedImageTableViewViewCellId, for: indexPath) as! NewsFeedImageTableViewViewCell
                cell.imageTappedDelegate = self
            }else
            {
                cell = tableView.dequeueReusableCell(withIdentifier: newsFeedVideoTableViewViewCellId, for: indexPath) as! NewsFeedVideoTableViewViewCell
                cell.videoTappedDelegate = self
            }
            cell.linkTappedDelegate  = self
            cell.backgroundColor = UIColor(rgb: 0xF2F2F2)
            cell.isAccessibilityElement = true
            cell.selectionStyle = .none
            tableViewIndex = indexPath
            if let  _states = states?[indexPath.section]{
                cell.state = _states[indexPath.row]
            }
            return cell
        }
    return UITableViewCell()
}

如果你看到我的代码,它只是不同

let cell = tableView.dequeueReusableCell(withIdentifier: newsFeedVideoTableViewViewCellId, for: indexPath) as! NewsFeedImageTableViewViewCell 

let cell = tableView.dequeueReusableCell(withIdentifier: newsFeedVideoTableViewViewCellId, for: indexPath) as! NewsFeedVideoTableViewViewCell

其他代码行相同。

我正在尝试声明变量 this 但它不起作用:

let cell: UITableViewCell!

“UITableViewCell”类型的值没有成员“imageTappedDelegate”

更新:- 添加了单元类定义:

class NewsFeedTableViewViewCell : BaseTableViewCell{  
    var statisticsSlidingCellId = "statisticsSlidingCellId"
    var linkTappedDelegate : LinkTappedDelegate!
    var state : State?{
        didSet{
          }
    }
}

class   NewsFeedImageTableViewViewCell: NewsFeedTableViewViewCell{
    var imageTappedDelegate : ImageTappedDelegate!
}

class   NewsFeedVideoTableViewViewCell : NewsFeedTableViewViewCell{
    var videoTappedDelegate : VideoTappedDelegate!
}
乔什·哈米特

要解决您的问题,请在分配委托之前强制转换为正确的类型。每当您引用单元格时,其类型为 UITableViewCell,因此您的自定义子类上的那些属性/方法不存在。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        var cell : NewsFeedTableViewViewCell!
        if let url = media.url {
            if Helper.isImageType(url: url)
            {
                cell = tableView.dequeueReusableCell(withIdentifier: newsFeedImageTableViewViewCellId, for: indexPath) as! NewsFeedImageTableViewViewCell
                (cell as ! NewsFeedImageTableViewCell).imageTappedDelegate = self
            }else
            {
                cell = tableView.dequeueReusableCell(withIdentifier: newsFeedVideoTableViewViewCellId, for: indexPath) as! NewsFeedVideoTableViewViewCell
                (cell as! NewsFeedVideoTableViewCell).videoTappedDelegate = self
            }
            cell.linkTappedDelegate  = self
            cell.backgroundColor = UIColor(rgb: 0xF2F2F2)
            cell.isAccessibilityElement = true
            cell.selectionStyle = .none
            tableViewIndex = indexPath
            if let  _states = states?[indexPath.section]{
                cell.state = _states[indexPath.row]
            }
            return cell
        }
    return UITableViewCell()
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义UITableViewCell:类型“ UITableViewCell”的值没有成员“ pointsNumber”

来自分类Dev

类型'AnyObject'的值没有成员''

来自分类Dev

类型的值没有成员

来自分类Dev

'UITableViewCell' 类型的值在多个 TableView 中没有成员 'name'

来自分类Dev

类型没有成员

来自分类Dev

类型[x]的SwiftUI值没有成员[y],但结构具有成员

来自分类Dev

类型'String'的值没有成员'substringToIndex'

来自分类Dev

类型“ UITouch”的值没有成员“ locationInNode”

来自分类Dev

类型'String'的值没有成员'stringByTrimmingCharactersInSet'

来自分类Dev

类型“ [String]”的值没有成员“ lastObject”

来自分类Dev

类型“错误”的值没有成员“代码”

来自分类Dev

Alamofire:“请求”类型的值没有成员responseImage?

来自分类Dev

类型“ [String:String]”的值没有成员“ major”

来自分类Dev

uiview类型的值没有成员大小

来自分类Dev

类型“ UIView”的值没有成员“ tableView”

来自分类Dev

SwiftUI-错误-类型值没有成员

来自分类Dev

类型'UIView'的值没有成员'constant'

来自分类Dev

类型“ GIDSignIn”的值没有成员“ signInSilently”

来自分类Dev

不断收到错误“类型值”“没有成员”'

来自分类Dev

类型的值没有成员代表错误

来自分类Dev

类型“标签”的值没有成员“ lastUsed”

来自分类Dev

SwiftUI:类型“ some view”的值没有成员“ presentation”

来自分类Dev

类型“ AuthDataResult”的值没有成员“ providerID”

来自分类Dev

Swift 5类型的值没有成员

来自分类Dev

类型“ [String:String]”的值没有成员“ major”

来自分类Dev

收到错误“类型值...没有成员'框架'”

来自分类Dev

类型为'String'的值没有成员索引

来自分类Dev

类型'Set <UITouch>'的值没有成员'allObjects'

来自分类Dev

“ FIRDatabaseReference”的值类型没有成员“ observeSingleEvent”

Related 相关文章

  1. 1

    自定义UITableViewCell:类型“ UITableViewCell”的值没有成员“ pointsNumber”

  2. 2

    类型'AnyObject'的值没有成员''

  3. 3

    类型的值没有成员

  4. 4

    'UITableViewCell' 类型的值在多个 TableView 中没有成员 'name'

  5. 5

    类型没有成员

  6. 6

    类型[x]的SwiftUI值没有成员[y],但结构具有成员

  7. 7

    类型'String'的值没有成员'substringToIndex'

  8. 8

    类型“ UITouch”的值没有成员“ locationInNode”

  9. 9

    类型'String'的值没有成员'stringByTrimmingCharactersInSet'

  10. 10

    类型“ [String]”的值没有成员“ lastObject”

  11. 11

    类型“错误”的值没有成员“代码”

  12. 12

    Alamofire:“请求”类型的值没有成员responseImage?

  13. 13

    类型“ [String:String]”的值没有成员“ major”

  14. 14

    uiview类型的值没有成员大小

  15. 15

    类型“ UIView”的值没有成员“ tableView”

  16. 16

    SwiftUI-错误-类型值没有成员

  17. 17

    类型'UIView'的值没有成员'constant'

  18. 18

    类型“ GIDSignIn”的值没有成员“ signInSilently”

  19. 19

    不断收到错误“类型值”“没有成员”'

  20. 20

    类型的值没有成员代表错误

  21. 21

    类型“标签”的值没有成员“ lastUsed”

  22. 22

    SwiftUI:类型“ some view”的值没有成员“ presentation”

  23. 23

    类型“ AuthDataResult”的值没有成员“ providerID”

  24. 24

    Swift 5类型的值没有成员

  25. 25

    类型“ [String:String]”的值没有成员“ major”

  26. 26

    收到错误“类型值...没有成员'框架'”

  27. 27

    类型为'String'的值没有成员索引

  28. 28

    类型'Set <UITouch>'的值没有成员'allObjects'

  29. 29

    “ FIRDatabaseReference”的值类型没有成员“ observeSingleEvent”

热门标签

归档