1
func addObserver(_ scrollView: UIScrollView) {
  NotificationCenter.default.addObserver(self, selector: #selector(XXX), name:, object:)
}

@objc func getScrollView (_ notification: Notification, useScrollView : UIScrollView) {
 // Doing something for scrollView
 
}

当我调用 addObserver 函数时,我想将 scrollView 传递给 objc 函数 getScrollView。我应该如何修改这两个功能?

4

1 回答 1

2

使用块更简单,比如

private var _observer: Any!  // unsubscribed automatically on deinit

func addObserver(_ scrollView: UIScrollView) {
    _observer = NotificationCenter.default.addObserver(forName: name, 
                object: nil, queue: nil) { notification in
        // ... just use scrollView here
    }
}
于 2020-11-03T04:30:45.393 回答