Swiftpack.co - Swift Packages by kakhaberikiknadze

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by kakhaberikiknadze

kakhaberikiknadze/SwiftUICoordinator 2.0.4-beta.2
Coordinator for pure SwiftUI
⭐️ 4
🕓 1 year ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Minor cleanup
1 year ago
Removed `NavigationRouterChildable`.
Added logger and changed TabSwiftUICoordinator initialiser
1 year ago
- Added Logger - Added ability to disable logger - Changed print statements with logger - Changed `TabSceneProviding` access level to `public` - Changed TabSceneProviding access level to public - Removed SceneProviding inheritance of TabSceneProviding - Renamed scene to tabScene in TabSceneProviding - Moved TabSceneProviding inside public directory - Fixed tests - Now `TabSwiftUICoordinator` has two initialisers - one with `SwiftUICoordinator<Void>` and another one with `TabSceneProviding`.
Fixed documentation comments
1 year ago
Bug fixes
1 year ago
- Fixed retain cycle of `TabSwiftUICoordinator` when inside `NavigationSwiftUICoordinator` - Cleanup tests
Beta 2
1 year ago
# Improved navigation coordination - Added `NavigationSwiftUICoordinator` - Now you can subclass `NavigationSwiftUICoordinator` instead of `SwiftUICoordinator` to have pushing capability - Removed `CoordinationMode` - Fixed retain cycle issues ## Example ``` Swift final class HomeCoordinator: NavigationSwiftUICoordinator<Void> { override func createScene() -> AnyView { let viewModel = HomeViewModel(coordinator: self) return AnyView(HomeScene(viewModel: viewModel)) } func openAccount() -> AnyPublisher<String, Never> { let coordinator = AccountCoordinator(id: "[ACCOUNT_COORDINATOR " + UUID().uuidString + "]") return push(coordinator) } } ``` ``` Swift final class AccountCoordinator: SwiftUICoordinator<String> { override func createScene() -> AnyView { let viewModel = AccountViewModel(coordinator: self) return AnyView(AccountScene(viewModel: viewModel)) } func dismiss(result: String) { finish(result: result) } func openChat() -> AnyPublisher<Void, Never> { if let router = navigationRouter { let coordinator = ChatCoordinator(id: "[CHAT_COORDINATOR " + UUID().uuidString + "]") return router.push(coordinator) } else { let coordinator = ChatCoordinator(id: "[CHAT_COORDINATOR " + UUID().uuidString + "]", presentationStyle: .sheet) return coordinate(to: coordinator) } } } ```
Beta1
1 year ago
# Create coordinator for pure SwiftUI project - Support for modal presentations - Support for custom modal presentations - Support for Navigation Stack - Support for Tab View - Easily create coordinator by sub-classing base coordinator
iOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics