Update FLet package
// MARK: ScreenProviding // Provide ScreenDataUI with SomeScreen public protocol ScreenProviding { func screen(forID id: String) -> AnyPublisher<SomeScreen, Error> } public struct MockScreenProvider: ScreenProviding { // ... } public struct URLScreenProvider: ScreenProviding { // ... } public struct FileScreenProvider: ScreenProviding { // ... } // MARK: ScreenStoring // Store SomeScreens for later public protocol ScreenStoring { func store(screens: [SomeScreen]) -> AnyPublisher<Void, Error> } public struct FileScreenStore: ScreenStoring { // ... } // MARK: ScreenLoading public protocol ScreenLoading { func load(withProvider provider: ScreenProviding) -> AnyPublisher<[SomeScreen], Error> } // MARK: ScreenLoading Basic Implementation extension SomeScreen: ScreenLoading { // ... }
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
ScreenDataNavigation