Ios 编译器不喜欢使用Swift的UIScrollViewDelegate
在将Ios 编译器不喜欢使用Swift的UIScrollViewDelegate,ios,swift,Ios,Swift,在将UIScrollView实现到UITableViewCell中时,我遇到了一个错误 class MyItemTableViewCell: UITableViewCell, UIScrollViewDelegate { ... var scrollView: UIScrollView = { let scroll = UIScrollView() scroll.showsHorizontalScrollIndicator = false
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>) {
...
}
...
}
类MyItemTableViewCell:UITableViewCell,UIScrollViewDelegate{
...
变量scrollView:UIScrollView={
让滚动=UIScrollView()
scroll.showshorizontalscrolindicator=false
scroll.delegate=self
返回滚动条;
}()
...
func scrollViewDidScroll(scrollView:UIScrollView!){
...
}
func ScrollViewWillendDraging(scrollView:UIScrollView!,速度:CGPoint,targetContentOffset:CMutablePointer){
...
}
...
}
编译器在scroll.delegate=self
行上给了我一个错误,指出类型MyItemTableViewCell不符合协议“UIScrollViewDelegate”
不要介意协议中的方法都被记录为可选(),但我实现了两个
编译器想从我这里得到什么
感谢在初始化周期中,在初始化所有属性之前,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
}
}
将
targetContentOffset
更改为键入inout CGPoint?@JackWu:尝试过-没有运气:-(@戴维:我根据文档建模::代码< IOUTX:T/<代码>是<代码> x:cMutable指针< /Cord>的同义词,所以使用哪个更适合您。我可以在VIEW控制器中调用FUNC ScLabVIEW Debug卷轴吗?@ LiamShalon,尽管您可能想考虑将功能提取为非委托方法。但是,如何在ViewController中实现该功能?