DataLife is an observable data storage class
import DataLife
final class ViewModel: DataLifeViewModel {
var myName = DataLife<String>()
func fetchMyName() {
myName.value = "Darth Vader"
}
}
import UIKit
final class ViewController: UIViewController {
@IBOutlet weak var nameLabel: UILabel!
private let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
setupState()
setupFetchMyName()
}
private func setupFetchMyName() {
viewModel.fetchMyName()
}
private func setupState() {
viewModel.myName.observer(viewModel) { [weak self] name in
self?.nameLabel.text = name
}
}
}
import PackageDescription
let package = Package(
name: "<Your Product Name>",
dependencies: [
.package(url: "https://github.com/heroesofcode/DataLife", .upToNextMajor(from: "1.4.0"))
],
targets: [
.target(
name: "<Your Target Name>",
dependencies: ["DataLife"]),
]
)
To contribute, just fork this project and then open a pull request, feel free to contribute, bring ideas and raise any problem in the issue tab.
DataLife is released under the MIT license. See LICENSE for details.
link |
Stars: 5 |
Last commit: Yesterday |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics