File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed
Sources/SwiftUIBackports/Shared/Refreshable Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -45,12 +45,12 @@ extension Backport where Wrapped: View {
4545
4646#if os(iOS)
4747private final class RefreshControl : UIRefreshControl {
48- var handler : ( ( ) -> Void ) ?
48+ var handler : ( ( ) async -> Void ) ?
4949
5050 init ( _ handler: @escaping ( ) async -> Void ) {
5151 super. init ( )
5252 self . handler = { [ weak self] in
53- Task {
53+ Task { [ weak self ] in
5454 await handler ( )
5555 self ? . endRefreshing ( )
5656 }
@@ -59,8 +59,13 @@ private final class RefreshControl: UIRefreshControl {
5959 addTarget ( self , action: #selector( update) , for: . valueChanged)
6060 }
6161
62+ @MainActor
63+ override func endRefreshing( ) {
64+ super. endRefreshing ( )
65+ }
66+
6267 @objc private func update( ) {
63- handler ? ( )
68+ Task { await handler ? ( ) }
6469 }
6570
6671 required init ? ( coder: NSCoder ) {
You can’t perform that action at this time.
0 commit comments