docs: Readme and LICENCE update
A mechanism for safe capturing & weakifying objects in Swift.
Without Capture
With Capture
Default
{ [weak self] in guard let self = self else { return } /// ... }
capture { _self in /// ... }
Multiple parameters
{ [weak self] a, b, c in guard let self = self else { return } /// ... }
capture { _self, a, b, c in /// ... }
Methods
{ [weak self] in guard let self = self else { return } self.someMethod() }
capture(Self.someMethod)
Return values
let object.dataSource = { [weak self] in guard let self = self else { return [] } return self.data }
let object.dataSource = capture(or: [], in: \.data)
Weak assign
{ [weak self] value in self?.value = value }
captureAssign(to: \.value) captureAssign(to: \.value, removeDuplicates: ==)
You can add weak to an Xcode project by adding it as a package dependency.
weak
"https://github.com/capturecontext/swift-capture"
If you use SwiftPM for your project, you can add weak to your package file. Also my advice is to use SSH.
.package( name: "weak", url: "git@github.com:capturecontext/swift-capture.git", .upToNextMajor("2.0.0") )
Do not forget about target dependencies:
.product( name: "swift-capture", name: "Capture", package: "swift-capture" )
This library is released under the MIT license. See LICENSE for details.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
swift-capture
A mechanism for safe capturing & weakifying objects in Swift.
Usage Examples
Default
Multiple parameters
Methods
Return values
Weak assign
Installation
Basic
You can add
weak
to an Xcode project by adding it as a package dependency."https://github.com/capturecontext/swift-capture"
into the package repository URL text fieldRecommended
If you use SwiftPM for your project, you can add
weak
to your package file. Also my advice is to use SSH.Do not forget about target dependencies:
License
This library is released under the MIT license. See LICENSE for details.