Skip to content

Latest commit

 

History

History
36 lines (25 loc) · 1.46 KB

列表的生命周期方法处理.md

File metadata and controls

36 lines (25 loc) · 1.46 KB

列表的生命周期方法处理

列表的自定义生命周期方法有哪些?

/// 可选实现,列表将要显示的时候调用
@objc optional func listWillAppear()
/// 可选实现,列表显示的时候调用
@objc optional func listDidAppear()
/// 可选实现,列表将要消失的时候调用
@objc optional func listWillDisappear()
/// 可选实现,列表消失的时候调用
@objc optional func listDidDisappear()

列表的生命周期方法触发时机

以当前显示的是A列表,右边是B列表,作为例子说明: 当用户从A慢慢滚动到B时,B显示了一点点的时候,就会触发A的listWillDisappear和B的listWillAppear

等用户完全滚动到B时(即B全部显示到界面,A全部消失),触发A的listDidDisappear和B的listDidAppear

如果列表是UIViewController类,系统的ViewWillAppear:等生命周期方法会触发吗?

系统的生命周期方法:

override func viewWillAppear(_ animated: Bool)
override func viewDidAppear(_ animated: Bool)
override func viewWillDisappear(_ animated: Bool)
override func viewDidDisappear(_ animated: Bool)

都会按照【列表的生命周期触发时机】说明中的顺序触发。但是自定义的listWillAppear等生命周期方法也会调用,所以,如果列表是UIViewController类,只依赖于系统的生命周期方法即可。如果列表是UIView类,就依赖于自定义的生命周期方法即可。