Skip to content

Commit ccf22d7

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

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

Sources/AdvancedList/public/Views/AdvancedList.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,20 @@ 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+
#endif
16+
1417
private let emptyStateView: () -> EmptyStateView
1518
private let errorStateView: (Error) -> ErrorStateView
1619
private let loadingStateView: () -> LoadingStateView
1720
@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+
#endif
26+
2027
public var body: AnyView {
2128
switch listService.listState {
2229
case .error(let error):
@@ -55,13 +62,24 @@ public struct AdvancedList<EmptyStateView: View, ErrorStateView: View, LoadingSt
5562
}
5663
}
5764

65+
#if !targetEnvironment(macCatalyst)
5866
public init(listService: ListService, @ViewBuilder emptyStateView: @escaping () -> EmptyStateView, @ViewBuilder errorStateView: @escaping (Error) -> ErrorStateView, @ViewBuilder loadingStateView: @escaping () -> LoadingStateView, pagination: AdvancedListPagination<PaginationErrorView, PaginationLoadingView>) {
5967
self.listService = listService
6068
self.emptyStateView = emptyStateView
6169
self.errorStateView = errorStateView
6270
self.loadingStateView = loadingStateView
6371
self.pagination = pagination
6472
}
73+
#endif
74+
75+
#if targetEnvironment(macCatalyst)
76+
public init(@ViewBuilder emptyStateView: @escaping () -> EmptyStateView, @ViewBuilder errorStateView: @escaping (Error) -> ErrorStateView, @ViewBuilder loadingStateView: @escaping () -> LoadingStateView, pagination: AdvancedListPagination<PaginationErrorView, PaginationLoadingView>) {
77+
self.emptyStateView = emptyStateView
78+
self.errorStateView = errorStateView
79+
self.loadingStateView = loadingStateView
80+
self.pagination = pagination
81+
}
82+
#endif
6583
}
6684

6785
extension AdvancedList {

0 commit comments

Comments
 (0)