Should you upgrade to 2.3 or 3.0?
If you have a significant Swift code base — as we do here at VTS — the answer to this is – yes, both.
Notebook
21 Amazing Open Source iOS Apps Written in Swift
This is “amazing” series of open source projects.
Swift is a general-purpose programming language developed by Apple Inc. for iOS, OS X, watchOS and tvOS. Currently it is the most popular open source programming language on Github.
Design Teardown: Expanding Cells
We are going to recreate the expanding cells effect from Inbox by Google.
Making burritos with Swift (or How To Mock Classes You Don’t Control)
Unless you’re the type of person who likes to write everything themselves, chances are you’ll have a lot of dependencies in your code on classes from external frameworks. These don’t often fit within your personal (or company’s) API guidelines or architecture. You also can’t apply dependency inversion as easily as with your own classes.
Since in Swift you can extend any type (including types from other frameworks) with whichever methods or computed variables you please, controlling external types is easy.
The approach I use for this is wrapping the external classes into a protocol I control. It boils down to extending the external class to conform to one of your protocols.
Using Stack Views in Table Cells
One of the cool things UIStackView can do for you is make it easy to dynamically update your app’s user interface while it’s running, with smooth animations and not a lot of code. My recent talk at iOSDevCamp DC covered some techniques. Natasha the Robot wrote a couple of great posts based on my talk, and today I’m going to talk about another unexpected (to me?) use of stack views.
RxSwift For Dummies 🐣
RxSwift is one of those things you have to try yourself to really start appreciating. It’s the one piece of the puzzle that I was missing to glue all the patterns like MVVM, VIPER, Coordinators/Routing.
It’s hard to express what RxSwift really is, because it does a lot. In general it serves as a great observer pattern with a mix of functional and reactive programming. It’s important to say what it isn’t and it isn’t Functional Reactive Programming in it’s original definition. It’s heavily inspired on FRP, so we can say that it contains Reactive and Functional features.
If you don’t know what FRP is, don’t worry for now – you’ll be able to discover it yourself in this tutorial. You’ll gradually learn what Functional and Reactive mean in the FRP.
Xcode Extensions
During this year’s WWDC, Apple announced Xcode Source Editor Extensions, a new and easy way to broaden the capabilities of our favorite tool. If you’re curious as to how you can harness its power to make you more productive, keep on reading.
SourceKit and You
SourceKit is more than just crashes & HUDs! It’s a powerful tool that can empower you to be a more productive Swift programmer. In this talk at App Builders 2016, JP Simard looks at a few examples of how you can leverage SourceKit to accomplish powerful tasks simply.
Concurrent Core Data, Now Easier Than Ever
Core Data has a popular opinion of being hard to use, especially in concurrent environments. Why is that the case? First, it truly is complex because it solves a hard problem. Second, until WWDC16 Apple haven’t really said how to best set up the Core Data stack. There were many options, each with its own issues, that we had to choose from.
That’s why I’m super happy that things get clearer in iOS 10 with the introduction of NSPersistentContainer.
The Principles of OOD in Swift
The Principles of OOD based on Uncle Bob articles.