@@ -25,11 +25,14 @@ class ConfigDefaultHeaderFooterController: UITableViewController {
2525 header. tintColor = UIColor . orange
2626 header. imageRenderingWithTintColor = true
2727 header. durationWhenHide = 0.4
28- self . tableView. configRefreshHeader ( with: header) { [ unowned self] in
28+ self . tableView. configRefreshHeader ( with: header, container : self ) { [ weak self] in
2929 delay ( 1.5 , closure: {
30- self . models = self . models. map { _ in random100 ( ) }
31- self . tableView. reloadData ( )
32- self . tableView. switchRefreshHeader ( to: . normal( . success, 0.3 ) )
30+ guard let vc = self else {
31+ return ;
32+ }
33+ vc. models = vc. models. map { _ in random100 ( ) }
34+ vc. tableView. reloadData ( )
35+ vc. tableView. switchRefreshHeader ( to: . normal( . success, 0.3 ) )
3336 } )
3437 } ;
3538 let footer = DefaultRefreshFooter . footer ( )
@@ -39,14 +42,17 @@ class ConfigDefaultHeaderFooterController: UITableViewController {
3942 footer. setText ( " Tap to load more " , mode: . tapToRefresh)
4043 footer. textLabel. textColor = UIColor . orange
4144 footer. refreshMode = . tap
42- self . tableView. configRefreshFooter ( with: footer) { [ unowned self] in
45+ self . tableView. configRefreshFooter ( with: footer, container : self ) { [ weak self] in
4346 delay ( 1.5 , closure: {
44- self . models. append ( random100 ( ) )
45- self . tableView. reloadData ( )
46- if self . models. count > 18 {
47- self . tableView. switchRefreshFooter ( to: . removed)
47+ guard let vc = self else {
48+ return ;
49+ }
50+ vc. models. append ( random100 ( ) )
51+ vc. tableView. reloadData ( )
52+ if vc. models. count > 18 {
53+ vc. tableView. switchRefreshFooter ( to: . removed)
4854 } else {
49- self . tableView. switchRefreshFooter ( to: . normal)
55+ vc . tableView. switchRefreshFooter ( to: . normal)
5056 }
5157 } )
5258 }
0 commit comments