Skip to content

Commit 2c852d9

Browse files
author
Christian Elies
committed
temporary fix for "ObservedObject not working on macCatalyst"
1 parent 99378f8 commit 2c852d9

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

Sources/AdvancedList/public/Views/AdvancedList.swift

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,21 @@ import ListPagination
1010
import SwiftUI
1111

1212
public struct AdvancedList<EmptyStateView: View, ErrorStateView: View, LoadingStateView: View, PaginationErrorView: View, PaginationLoadingView: View> : View {
13+
#if !targetEnvironment(macCatalyst)
1314
@ObservedObject private var listService: ListService
15+
@ObservedObject private var pagination: AdvancedListPagination<PaginationErrorView, PaginationLoadingView>
16+
#endif
17+
1418
private let emptyStateView: () -> EmptyStateView
1519
private let errorStateView: (Error) -> ErrorStateView
1620
private let loadingStateView: () -> LoadingStateView
17-
@ObservedObject private var pagination: AdvancedListPagination<PaginationErrorView, PaginationLoadingView>
1821
@State private var isLastItem: Bool = false
1922

23+
#if targetEnvironment(macCatalyst)
24+
@EnvironmentObject var listService: ListService
25+
@EnvironmentObject var pagination: AdvancedListPagination<PaginationErrorView, PaginationLoadingView>
26+
#endif
27+
2028
public var body: AnyView {
2129
switch listService.listState {
2230
case .error(let error):
@@ -55,13 +63,23 @@ public struct AdvancedList<EmptyStateView: View, ErrorStateView: View, LoadingSt
5563
}
5664
}
5765

66+
#if !targetEnvironment(macCatalyst)
5867
public init(listService: ListService, @ViewBuilder emptyStateView: @escaping () -> EmptyStateView, @ViewBuilder errorStateView: @escaping (Error) -> ErrorStateView, @ViewBuilder loadingStateView: @escaping () -> LoadingStateView, pagination: AdvancedListPagination<PaginationErrorView, PaginationLoadingView>) {
5968
self.listService = listService
6069
self.emptyStateView = emptyStateView
6170
self.errorStateView = errorStateView
6271
self.loadingStateView = loadingStateView
6372
self.pagination = pagination
6473
}
74+
#endif
75+
76+
#if targetEnvironment(macCatalyst)
77+
public init(@ViewBuilder emptyStateView: @escaping () -> EmptyStateView, @ViewBuilder errorStateView: @escaping (Error) -> ErrorStateView, @ViewBuilder loadingStateView: @escaping () -> LoadingStateView) {
78+
self.emptyStateView = emptyStateView
79+
self.errorStateView = errorStateView
80+
self.loadingStateView = loadingStateView
81+
}
82+
#endif
6583
}
6684

6785
extension AdvancedList {

0 commit comments

Comments
 (0)