tunous/optionalenvironmentobject
A way to access SwiftUI EnvironmentObject in a safe way without crashing application.
Usage
import SwiftUI
import OptionalEnvironmentObject
final class MyObject: ObservableObject {}
struct ContentView: View {
@EnvironmentObject.Optional private var object: MyObject?
var body: some View {
if let object {
Text("Found: \(object)")
} else {
Text("Not found")
}
}
}
#Preview {
VStack {
ContentView()
ContentView()
.optionalEnvironmentObject(MyObject())
}
}Installation
Swift Package Manager
Add the following to the dependencies array in your "Package.swift" file:
.package(url: "https://github.com/Tunous/OptionalEnvironmentObject", .upToNextMajor(from: "1.0.0"))Or add https://github.com/Tunous/OptionalEnvironmentObject, to the list of Swift packages for any project in Xcode.
Package Metadata
Repository: tunous/optionalenvironmentobject
Default branch: main
README: README.md