An existential weak reference. Use this wrapper class to pass around weakly-referenced instances of an object.
WeakReference is currently distributed exclusively through the Swift Package Manager.
To add WeakReference as a dependency to an existing Swift package, add the following line of code to the dependencies
parameter of your Package.swift
file:
dependencies: [
.package(url: "https://github.com/vsanthanam/WeakReference.git", .upToNextMajor(from: "1.0.0"))
]
To add AnyAsyncSequence as a dependency to an Xcode Project:
- Choose File → Add Packages...
- Enter package URL https://github.com/vsanthanam/WeakReference.git and select your release and of choice.
Other distribution mechanisms like CocoaPods or Carthage may be added in the future.
Additional installation instructions are available on the Swift Package Index
import WeakReference
var obj: MyObj? = .init( ... )
let weakReference = weak(obj!)
assert(weakReference.obj != nil)
obj = nil
assert(weakReference.obj == nil)
See the complete documentation for more information.
WeakReference is available under the MIT license. See the LICENSE file for more information.