SE-0199 introduced a new toggle()
method to booleans that flip them between true and false..
The entire code to implement proposal is only a handful of lines of Swift:
extension Bool {
mutating func toggle() {
self = !self
}
}
However, the end result makes for much more natural Swift code:
var loggedIn = false
loggedIn.toggle()
As noted in the proposal, this is particularly useful in more complex data structures: myVar.prop1.prop2.enabled.toggle()
avoids the potential typing errors that could be caused using manual negation.
The proposal makes Swift easier and safer to write, and is purely additive, so I think most folks will switch to using it quickly enough.
SPONSORED Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until October 1st.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Download all Swift 4.2 changes as a playground Link to Swift 4.2 changes
Link copied to your pasteboard.