Made in Yalantis. Inspired by https://github.com/mmrmmlrr/ModelsTreeKit
Imagine that you have iOS application with many screens. Each screen is managed by UIViewController and some data/logic/helper classes. All classes which linked to one screen I call Module.
We don't discuss communication between classes inside a Module - it can be done pretty easy with delegate/callback/reactive signals. But what if you need to communicate between different Modules? They can be placed far away from each other in navigation flow. You can deal with it using NSNotificationCenter, or you can pull callbacks/delegates and etc across the whole application making it overcomplicated.
Navigation flow of Modules in app is tree-like structure. And EventNode proposes tree-like solution for every such situation(not only Modules but every tree). Instead of creating route for every change we will provide the single easy way to delivering events where they are needed.
Write in podfile:
pod 'EventsTree'
Then execute command in console:
pod install
Create Cartfile with line:
github "DarthRumata/EventsTree"
Then execute command in console:
carthage update
Create Package.swift file(project folders layout should match requirements):
import PackageDescription
let package = Package(
name: “Greeter”,
dependencies: [
.Package(url: “https://github.com/DarthRumata/EventsTree.git", majorVersion: 0, minor: 1)
]
)
Then execute command in console:
swift build
link |
Stars: 12 |
Last commit: 4 years ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics