gpt4 book ai didi

ios - 编译器不喜欢 Swift 的 UIScrollViewDelegate

转载 作者:搜寻专家 更新时间:2023-10-31 22:36:33 26 4
gpt4 key购买 nike

在将 UIScrollView 实现到 UITableViewCell 中时出现错误。

class MyItemTableViewCell: UITableViewCell, UIScrollViewDelegate {

...

var scrollView: UIScrollView = {
let scroll = UIScrollView()
scroll.showsHorizontalScrollIndicator = false
scroll.delegate = self
return scroll;
}()

...

func scrollViewDidScroll(scrollView: UIScrollView!) {
...
}

func scrollViewWillEndDragging(scrollView: UIScrollView!, velocity: CGPoint, targetContentOffset: CMutablePointer<CGPoint>) {
...
}
...
}

编译器在 scroll.delegate = self 行给我一个错误,说 Type MyItemTableViewCell does not conform to protocol ‘UIScrollViewDelegate’

没关系,协议(protocol)中的方法都记录为可选 (https://developer.apple.com/library/prerelease/iOS/documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/index.html),但我实现了两个。

编译器想从我这里得到什么?

谢谢

最佳答案

在初始化周期中,在所有属性都被初始化之前,self 是不可用的。将其更改为:

class MyItemTableViewCell: UITableViewCell, UIScrollViewDelegate {

var scrollView: UIScrollView

func scrollViewDidScroll(scrollView: UIScrollView!) {
}

func scrollViewWillEndDragging(scrollView: UIScrollView!, velocity: CGPoint, inout targetContentOffset: CGPoint) {
}

init() {
scrollView = UIScrollView()
scrollView.showsHorizontalScrollIndicator = false
super.init(style:UITableViewCellStyle.Default, reuseIdentifier:"cell")
scrollView.delegate = self
}
}

关于ios - 编译器不喜欢 Swift 的 UIScrollViewDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24165999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com