S Link
Swift iOS Developer - Full Time role
We're looking for a passionate iOS Developer to join our small but tight team. No legacy code, a brilliant concept and good people passionate about code quality. Work in Swift, iOS 9, and build for the Apple Watch.
If this sounds like something you want to be apart of, please contact us for a chat, regardless of your location.
Swift Around the Web
Similarly different: join(), reduce() and flatMap() in Swift 2
reduce()
, flatMap()
and join()
can produce the same results. So what is the difference between the three and when do you use each one?
Every Swift Value Type Should Be Equatable
I've only been adding the Equatable conformance to my Value types when I need it in my code, but this is a great argument for making all of your values equatable right away, since that is the expected behavior for value types.
UPDATE: Tested the below, and there's no need to implement the version with the optionals - it just works! Thanks @rob_rix and @anatomisation.
The only missing thing from this article is something I had to learn the hard way - make sure to implement the equality for different variations of your value type as Optionals as well!
func ==(lhs: Place, rhs: Place) -> Bool { }
func ==(lhs: Place?, rhs: Place) -> Bool { }
func ==(lhs: Place, rhs: Place?) -> Bool { }
func ==(lhs: Place?, rhs: Place?) -> Bool { }
Coding
We've Got You Covered
Code Coverage is definitely one of the most exciting additions to Xcode announced at this year's WWDC. @borkware takes a deep look into how (and if) it actually works. And while we're talking about code coverage, I love this simple note by @mpweiher: When Is My Unit Test Coverage Adequate?.
How to Highlight Your TODOs, FIXMEs, & ERRORs In Xcode
Ok, so you really shouldn't have TODOs, FIXMEs, & ERRORs in your code, but if you're coming onto a project that has these long-forgotten artifacts, it's a good idea to implement this script for creating actual warnings around them in Xcode, to make sure they're evaluated and taken care of. I also don't mind @NeoNacho use case for them - "use TODOs and a similar script while coding, move longer term things to GH issues after".
Design
How Apple Music Onboards New Users
I clicked on this link expecting to learn from the Apple Music Magical Onboarding experience only to find myself laughing though it. This is more about what not to do...
Other Cool Stuff
In Case You Missed It
Xcode: One Weird Debugging Trick That Will Save Your Life
Last week, I've been watching the Advanced Debugging and the Address Sanitizer Session over breakfast. Here is one super cool debugging trick that I had to write down to save my future sanity...
Videos
Swift Scripting
Does Swift have a future in scripting? @ayanonagon talks about how Swift became her scripting language of choice when solving a problem at Venmo.
Functional Voodoo
Paragons Of Perfunctory Programs
Another entertaining attempt at explaining Monads (aka "What the hell, who let the god damned Math Major back into the codebase again?") and why they're useful.
WATCH
watchOS-2-heartrate
A sample Watch OS 2 project showing how to get a streaming heart-rate from the Apple Watch.
WatchKit Connectivity and File Transfers
@swilliams shares several gotchas he encountered while playing around with the WatchKit Connectivity framework. Example project on Github here.
Swift Code
Koloda - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. It adds convenient functionality such as a UITableView-style dataSource/delegate interface for loading views dynamically, and efficient view loading, unloading .
Butterfly - A tiny library for integrating feedback module elegantly.
Tomate - This is in the App Store as Fojusi
GaugeKit - Kit for building custom gauges + easy reproducible Apple's style ring gauges.
cato - Swift scripts made easy with automatic dependency and Swift version management.
Swift Thoughts
Jurassic World was the first movie where the 3D technology actually enhanced my movie experience (and didn't just make me dizzy!). It felt like I was on a roller coaster at Universal Studio, and I loved it! Ever since then, I've started going to movie theaters more often just to get this 3D experience. In other words, the 3D technology is the new "killer feature" of movie theaters in the age where we can get any movie on demand in the comfort of our home.
This, of course, made me think of the question I'm sure we've all been thinking - what is that "killer feature" of the Apple Watch? Are we just all waiting for that one "killer app" to come along and make consumers go gaga for the Watch?
For me, the fitness tracking is that killer feature. I wear my watch wherever I go somewhere so I can get credit for it. But, as @ksegall points out, there might not be that one-size-fits-all killer feature or app for the Watch, and that's ok.