Breaking down Custom View Controller Animations with Moves

When I first learned to program for iOS, I was always interested in how view controller animations worked. How did some apps have such cool animations when all I can is present a full sized modal over my current screen?

I love keeping up with what’s trending in swift on github because there’s always at least one cool project that inspires me and teaches me something. For about a quarter of those repos, I’ve noticed the library had to do with simplifying animations, specifically presenting a modal in a cool, flashy way. I’m not here to bash any of them; as a matter of fact, I’ve used and still use some of those libraries in iOS projects I work on today!

Read more...

Living reactively in Swift, before RxSwift. And truly understanding "DisposeBags"

When I first learned to program about 2 years ago, one term that spooked me real good was this thing called Reactive Cocoa. It’s not a friendly sight of code when you see it for the first time. I remember thinking, ‘What the heck is RAC? - I’ve never learned in class at Flatiron School. Ehrm, Run.’

More recently, I decided to dig deeper into reactive programming, looking into more resources/blogs about RxSwift. You also know RxSwift has hit the mainstream of iOS swift programming recently after a dedicated book about RxSwift gets published on Ray Wenderlich … and I bought it ;).

But before trying to understand a full-fledged framework like RxSwift, I tried becoming more reactive with my code without a framework, and I enjoyed it. Let me explain.

Read more...

Easy Networking and Testing with Moya

One of the things I’ve done most in iOS programming is create ad hoc networking layers that encapsulate NSURLSession. When I integrate any 3rd party service with a RESTful interface , I’ll often create an APIManager/APIService of some sort which houses my URLSession, along with the handful of finely named methods my app would do with the service.

Read more...

Watch Connectivity with Core Data in iOS 10 Part 1

Integrating Core Data with WatchOS

Ever since I bought the apple watch when it first launched last year, I’ve been pretty disappointed with it’s low load times and responsiveness. But it’s now late 2016 and a lot has changed since then. The Apple Watch now operates on WatchOS3, the third installment of the watch’s operating system, and after upgrading my watch, I’ve noticed the watch experience to feel just a bit snappier than before. It’s by no means as fast as how the Watch Series 2 looked in Apple’s demo launch earlier this month, but it works- I’ll take it.

Read more...

Learning in playgrounds with generics and hashable Part 2

Hashable

I mentioned the protocol Hashable in the last post. Not all things can serve as a key in a dictionary. But we don’t settle with just strings and numbers. We want to compare classes and structs as well. The challenge is that structs and classes do not conform to Hashable by default, so unlike the strings and integers used in earlier examples, we’ll need to implement Hashable protocol. It’s like joining a fraternity or sorority — you need to fulfill your duties before you’re a … Kappa, Sigma, or … ‘Hashable’!

Read more...