gpt4 book ai didi

ios - 为什么我的 UIScrollViewDelegate 没有在快速的 Playground 上被调用?

转载 作者:行者123 更新时间:2023-11-28 10:28:04 24 4
gpt4 key购买 nike

我在 Swift Playgrounds iPad 应用程序上编写了以下 playground:

import PlaygroundSupport
import UIKit
let view = UIScrollView()
view.backgroundColor = .white
view.contentSize = CGSize(width:100,height:2000)
class Foo : NSObject, UIScrollViewDelegate {
func scrollViewDidScrollToTop(_ scrollView: UIScrollView) {
print("yo")
}
}
view.delegate = Foo()
PlaygroundPage.current.liveView = view

这将创建一个 ScrollView ,如果您在 View 上拖动手指,则可以看到其滚动条。但是 UIScrollViewDelegate 方法似乎从未被调用过。为什么?

编辑:意味着使用 scrollViewDidScroll 而不是 scrollViewDidScrollToTop。

最佳答案

我相信这是因为 delegate 被声明为 weak 属性。由于代码没有在任何其他地方保留对 Foo 对象的 strong 引用,它会立即释放它。

当我尝试在 xcode 中运行它时,它实际上也为此发出了警告。

但是,当我保持对委托(delegate)的强引用时,它就起作用了。

关于ios - 为什么我的 UIScrollViewDelegate 没有在快速的 Playground 上被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57764650/

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