Swiftpack.co - fourplusone/observed-optional-object as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by fourplusone.
fourplusone/observed-optional-object v0.1.1
Observe objects in SwiftUI Views which may be nil
⭐️ 13
🕓 2 years ago
iOS
.package(url: "https://github.com/fourplusone/observed-optional-object.git", from: "v0.1.1")

ObservedOptionalObject

Swift

Rationale

SwiftUIs @ObservedObject requires that the observed object actually exists. In some cases it's convenient to observe an object which might be nil. In this case, @ObservedOptionalObject can be used.

struct SomeView: View {
    // Instead of
    @ObservedObject var anObject: Model? // Won't work
    
    // use
    @ObservedOptionalObject var anObject: Model?
    
    var body: some View {
        HStack {
            Text("Name")
            if let name = anObject?.name {
                Text(name)
            }
        }
    }
}

Please note, that @ObservedOptionalObject is only useful if your contains content that should be displayed, even when the object is nil. Otherwise the view should be contained within an if let statement: if let obj = obj { SomeView(anObject: obj) }

Installation

This package is available via SwiftPM

dependencies: [
    .package(url: "https://github.com/fourplusone/observed-optional-object.git", 
        .upToNextMinor(from: "0.1.0")
    )
]

License

This project is licensed under the MIT License.

GitHub

link
Stars: 13
Last commit: 2 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

2 years ago
  • [FEAT] iOS Support

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