Swift Around the Web
Swift 1.2 Update (Xcode 6.3 beta 2) - Performance
"The performance jumps are very significant in Swift 1.2 and certainly in Beta 2 the steps necessary to optimise your code are significantly changed. This post will cover some information on the improvements and how to get the best out of the Swift compiler. In most cases I have encountered the performance is now very close to C/C++ code and may be faster at times." Also, check out this discussion on Twitter about final
and performance.
Swift Collection Protocols
A very clear and detailed explanation of how to use Swift's built-in collection protocols for your own custom collection types.
Swift: Madness of Generic Integer
In Swift, there are "11 Integer types that can be considered as Integers", and most conform to a ton of protocols. For example, Int conforms to 26 protocols! @krzyzanowskim attempts to "create generic function that will handle any integer value and make some operation on it". Spoiler alert: The result is not that great, but maybe you can think of a better way...
Coding
Atlas by Layer
"Atlas is a fully featured, high performance, 100% customizable UI kit, built by Layer to power communications interfaces in any app."
How to implement a Play/Pause Animation.
A very logical step-by-step explanation of how to implement a beautiful play-pause animation.
Apple News
Apple has officially sent out invites for the March 9th "Spring Forward" Event! WATCH WATCH WATCH WATCH WATCH WATCH!!!!!!!!!!
Xcode 6.3 beta 2 with Swift 1.2 Now Available
Funner playgrounds, better if let optional unwrapping, zip, and more! Take a look at this great summary of changes by @ericasadun and a detailed explanation of the impact of these changes by @johnnyclem.
New Playgrounds
Overview of the new XCode 6.3 Beta 2 Playground enhancements from the Apple Team:
- Inline results display the output of your Swift code within the main editor window.
- Stylized text is easy to add to your playground by adding special markup to your comments based on the familiar Markdown syntax.
- The Resources folder bundles images and other content directly within the playground.
Design
Washing Machine Iconography!
This is honestly how I think about apps that go overboard with icons. I just don't know what they mean and it's very scary to click on them to find out! So think twice before including too many icons...
Truncated Text in Mobile UIs
Just last week I saw an app with a truncated label in a very critical part of the app. There wasn't even a way to get the full text! This is a good reminder that with iOS 8's self-sizing table view cells, there are just no more excuses for truncation.
Other Cool Stuff
Clever
Well, this is definitely one way to get the Apple Watch on your wrist before April... And of course you can always do this.
In Case You Missed It
Unit Testing with NatashaTheRobot
I talked about Unit Testing on the iPhreaks Show a few weeks ago. Enjoy!
WatchKit Data Sharing: Beware of the NSFileCoordinator and NSFilePresenter
One of the biggest challenges of working with WatchKit is figuring out how to best share information between your iOS and WatchKit app. To challenge myself to dive deep and really understand the topic, I gave a talk on the topic at the San Francisco Swift Language User Group Meetup earlier this month, where I mentioned using NSFileCoordinator as a way of sharing data between the iOS and WatchKit app. After the talk, @stephenpoletto mentioned that there's actually a bug where the NSFileCoordinator and NSFilePresenter that prevents it from being used in extensions.
Tutorials
WatchKit Tutorial: More Tables, Glances & Handoff
A very detailed tutorial on how to create a full WatchKit app, including great detail on making the layout work for your needs.
WATCH
WatchRingGenerator
iOS app that generates a series of PNG images, to be used in WatchKit apps. It’s primarily made to be used in iOS Simulator, so you can easily get to the pictures.
Spring Forward Event Announced
Apple has officially sent out invitations for the March 9th Spring Forward event where the big WATCH announcement should be happening. That's coming up much sooner than I realized, so if you haven't been feeling the pressure to get something out first on the WATCH, this should do it!
Swift Code
LumaJSON - A super simple JSON helper for Swift. Also take a look at how you can parse JSON library-free
Cherry - Mini Pomodoro Timer app designed for the  Watch. Written in Swift.
Pulsar - A versatile solution for displaying pulse animations as known from Apple Maps.
ZMaterialDesignUIButton - Swift Material Design UIButton
JMEasyTouchID - TouchID used easy on one line in your ViewController.
Swift Thoughts
I get asked a lot whether I like Objective-C or Swift better. My answer is that they're different. When I'm coding in Swift, I'm thinking of how to best approach the problem in Swift, not how I would approach the problem in Objective-C and translate to Swift.
I do find Swift to be harder than Objective-C if I had to compare. That's because Swift has more ways of doing things and I'm still learning and experimenting, especially when it comes to functional programming concepts. The fact that Swift is harder for me does not bother me - I love the challenge and learning that comes with it.
Anyway, just wanted to write this note as a follow-up to @redqueencoder's defense of Swift for those who are more negative on Swift out there. Oh yeah, and I do love coding in Swift.
Happy Learning!