Private properties in protocols
In Swift, protocols can’t specify access control to the properties they declare. If a property is listed in a protocol, you have to make conforming types declare those properties explicitly.
But sometimes, even if you need those properties in order to provide your implementations, you don’t want those properties to be used outside the type. Let’s see how to workaround that problem.
With Xcode 10 and Swift 4.2, the new
@dynamicMemberLookup proposal is now available in Swift. Let’s have some fun with it.
Using Dedicated Objects as Delegates & Datasources
Today for my come-back post (hopefully), I’ll be talking about a tip for your
UITableViewDelegate. The idea is in fact applicable to a lot of other things following the same
delegate pattern, but the use case of
UITableView will hopefully be the most concrete example for most people.
SwiftGen 4.2 and other news
SwiftGen — my tool to generate Swift code so you can use your images, localized strings, fonts, storyboards and other assets in a type-safe way — has just been released in version 4.2 after a big internal refactoring. I’ve also been working on other OSS projects lately.
This article intends to give you some news on all those various OSS projects as well as what has been going on lately and what’s next to come.
This is a quick post to reassure you that this blog is still alive 😜 And announcing the subjects that I plan to write about in the upcoming articles.
Talking at conferences
This is a quick announce about the new release of my OpenSource code generation tool SwiftGen 3.0.0.
Closures Capture Semantics, Part 1: Catch them all!
Even with ARC nowadays, it’s still important to understand memory management and objects life-cycles. A special case is when using closures, which are more and more present in Swift and have different capture semantics than ObjC’s block capture rules. Let’s see how they work.
A quick list of overlooked announcements at WWDC'16
Ok, so sadly I wasn’t at WWDC this year 😢 and followed it only on video 🎥 and Twitter. I bet you all saw the big announcements made during the keynote and the Platform State of the Union talks 🎉. But did you know about all those other new APIs that were added more silently? 🕵
Pattern Matching, Part 4: if case, guard case, for case
Now that we’ve revisited the various syntaxes for pattern matching in part 1, part 2 and part 3, let’s finish this blog post series with some advanced syntax using
if case let,
for case where and all!