S Link
Automate your app's growth with Pyze. For Free.
Pyze automatically segments and interacts with the entire app user-base to identify under monetized users, loyal users or those at risk of attrition. With Pyze, you can automate engagement with each set of users to put your app's growth on autopilot. Pyze is Free for all apps but This Week In Swift readers also get all enterprise features free for 6 months.
Buddybuild: continuous integration & delivery made easy!
Buddybuild is the only mobile continuous integration and delivery platform that takes just minutes to set up. Stop cobbling together and maintaining disparate build, deployment, crash reporting and feedback systems. Focus on what you do best: creating apps people love!
Join us for a live developer training on July 14th to learn how you can easily add buddybuild to your mobile development process. Ask our experts anything and leave with a mobile optimized CI and CD solution up and running - all in under 30 minutes.
Swift Around the Web
Writing your own Swift "if let"
I've understood the basics of how Optionals in Swift are implemented, but haven't thought much about the behind-the-scenes of "if let" π€
Coding
Build Tic Tac Toe with AI Using Swift
A super comprehensive and inspiring post on creating a Tic Tac Toe game using SpriteKit and GameplayKit. I admit that I never think I can create a game, but when I see how fun and challenging it is to make a simple Tic Tac Toe game, I always think I can make a simple game like that after all!
Hannibal #selector
A comprehensive look into how to use the new #selector
keyword in different situations. One big take-away is that #selector
doesn't include type information, so choosing between overloads that have the same argument list is very π¬
Apple News
Xcode 8 beta 2 (8S162m) Now Available
Lots of stuff here, so make sure to read the Release Notes. I'm still wrapping my head around the new behavior of implicitly-unwrapped optionals in Swift 3, but hoping it'll just feel natural:
var x: Int! = nil // x is an implicitly-unwrapped optional value
of type Int?
var y = x // y is an ordinary optional value of type Int?
var z = x ?? 0 // x will be treated as an optional; since it is nil, z will be bound to 0
print(x + 0) // x will be implicitly unwrapped, causing a trap
Xcode Playground Support
"The Xcode Playground Support project enables building a Swift toolchain that includes everything necessary to integrate with the Xcode 8 playground experience."
Design
The UX Secret That Will Ruin Apps For You
Sometimes technology is too π to believe and you got to fake slow down...
Other Cool Stuff
PokΓ©mon Go
Hopefully I'm not the only one who had to look up what PokΓ©mon Go is π That's one way to gamify exercise, community, and crime...
In Case You Missed It
try! Swift Tokyo Videos
Most of the talks from try! Swift Tokyo are out! Thanks @realm for doing all the video processing and putting it online. I know I wouldn't have otherwise had the resources to make this happen. I look forward to seeing you at try! Swift NYC, with a brand new lineup of speakers from our amazing community π€ππ
Videos
The Open World of Swift 3
Really clear overview of changes in Swift 3 - great explanation of what's going on with @noescape
and curried functions, and some things I didn't really pay attention to such as how awesome it could be to use previously disallowed keywords as argument labels. The cool thing here is that this talk was done before WWDC, but of course with the openness of Swift, we already knew what was coming :)
SourceKit and You
I've never heard of SourceKit until Swift came out and it suddenly started crashing all the time. Well, apparently there is more to SourceKit than crashes & HUDs π Love this talk explaining what SourceKit actually is and how to use it πͺ
Swift Code
- LeetCode_Swift - Algorithm solutions to real interview questions of Google, Facebook, LinkedIn, Apple, etc. in Swift
- SwingSet - π¦ Quickly convert Swift Playgrounds to SwiftPM packages
- WSTagsField - An iOS text field that represents different Tags
- Datez - Breeze through NSDate, NSDateComponents, and NSTimeInterval with Swift!
- SwiftIconFont - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon)
- SubscriptionPrompt - Subscription View Controller like the Tinder uses
Learning
My Method For Prioritizing What To Learn
I've been a bit paralyzed by all the things I want to learn after WWDC on top of other things I want to learn that is unrelated, so I totally agree with @nerdonica here on having a system. I usually have lots of Google Docs instead of folders to sort out my information, but something more sophisticated is probably needed in my life as well:
"Iβm embarassed over how complex my system is. But learning is one of the most important things we do as software developers and I want to be sure Iβm focusing on the right things at the right time."
Swift Thoughts
It's now almost a month since WWDC, and I'm still feeling anxious and excited about all the new things and figuring out what I want to focus on next. I've been having lots of fun chatting with the try! Swift NYC speakers about the best topics for try! Swift in September, and I'm super excited to have the schedule finally up with so many different and exciting talks to learn from! Hope to see you there π₯π½π