This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import TipKit | |
/// Small helper protocol for a tip that is available below iOS 17 | |
/// so that we can pass tips around and have members storing tips | |
/// (as stored properties can't be marked with `@available`). | |
@available(iOS, obsoleted: 17, message: "Can be removed once we only support iOS 17+") | |
public protocol TipShim { | |
@available(iOS 17, *) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Combine | |
/// Classes implementing this protocol can be target of convenience Publisher | |
/// bindings and assignments without causing accidental retain cycles. | |
/// Those bindings and assignments are also released together with the target. | |
/// | |
/// For example: | |
/// | |
/// aPublisher.bind(to: self) { me, object in |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Keybase proof | |
I hereby claim: | |
* I am frankschlegel on github. | |
* I am frankschlegel (https://keybase.io/frankschlegel) on keybase. | |
* I have a public key whose fingerprint is BBA5 D882 BABA F1F1 5B12 3D48 4B1C 9B9A 2755 EF07 | |
To claim this, I am signing this object: |