Video: Using Fixtures and Test Assets in Swift Unit Tests (9m)
Use fixtures in your Swift unit tests to quickly build business objects and validate scenarios.
Available now for Elixir work. Two weeks. One problem. $6,000. Details →
40 posts.
Use fixtures in your Swift unit tests to quickly build business objects and validate scenarios.
How to store a Swift app's data in a JSON file and migrate the schema over time, handy when beta users are generating documents.
A short video that talks about Mac OS X and sheets.
Most quality iOS apps cost between $100,000 and $1,000,000 to build. Where that range comes from, and what moves you inside it.
Why I am tempted to return Swift's UInt for values that can never be negative, even though the community leans on Int.
Why consistent code style matters more than which style you pick, and how SwiftLint keeps an iOS project honest about it.
Video and slides from my Philly CocoaHeads talk on building a Swift network layer that survives auth, token renewal, testing, and caching.
Kicking off a series on what separates a professional iOS project from a hobby one, starting with why I keep learning new languages.
I am giving a talk on designing a modern Swift network stack at Philly CocoaHeads on January 10th. Details and RSVP inside.
The `if let error = error` pattern is everywhere in iOS callback code. Why I reach for a guard statement instead.
UITableView still ships two dequeue methods and only one of them is any good. My style for dequeuing and populating cells in Swift.
I am running my half-day iOS Refactoring workshop publicly in July, on mastering small improvements instead of risky rewrites.
A lightning talk video on how UIKit's MVC heritage became a bottleneck for new ideas, and what might replace it in the years ahead.
Apple opened its fall event with accessibility. What I have learned building for it on iOS, and seeing Philly CocoaHeads take it up.
A short screencast showing why the docs for NSViewController init(nibName:bundle:) are wrong. Radar 28802828 filed.
Adding a Send Feedback item to a Mac app's Help menu, and where the behavior behind a menu item should actually live.
Students no longer get the Knight Rider analogy for delegation, and that is a small tragedy for a Big Nerd Ranch instructor.
A WWDC dream I have mostly given up on. What a better Core Data would look like, starting with migrations worth the name.
An Xcode shortcut that caused a stir in the Philly CocoaHeads Slack. How to send a Quick Open result to the assistant editor.
A Philly CocoaHeads talk on the various ways to consume JSON in Swift, including an early look at Big Nerd Ranch's Freddy.
Big Nerd Ranch revamped its mobile design class to teach Sketch alongside design fundamentals, and I finally get to learn it.
Interface design is largely word choice. What Apple's HIG says about alert buttons, and why copy deserves the care code gets.
The WWDC video library is enormous. Here is how I get through more of the sessions by playing them back at double speed.
A small tip that makes Cocoa unit test runs launch faster by bailing out of the app delegate early when tests are the target.
My Philly CocoaHeads talk reviewing a handful of iOS code patterns, and where to find our growing archive of meeting videos.
Swift wants everything explicit and Cocoa is happy to sort it out later. Two personalities that fate has made roommates.
Tickets are open for the two-day Introduction to iOS Development class I am teaching for Girl Develop It in February.
An architecture kata I ran at a CocoaHeads Side Project Saturday. Pair up, design one app, then compare what everyone built.
A recap of the second Philly CocoaHeads workshop, a full day on designing and planning an iOS app before you build it.
7 Minute Workout, an app I worked on, turns up in Apple's Strength TV ad. Plus news on the DmgCtrl and Tonic merger.
The talk I give to people who ask how to start writing iOS apps, collecting the resources and recommendations I hand out most.
An honest list of what I love about iOS development and what wears on me, from Objective-C to the App Store.
If you branch on an enum, use a switch statement. The compiler will then tell you when you forget to handle a new case.
Retire the family photo screensaver and put your CI status up on the big screen. The screensaver and setup I use.
A quick tip. Xcode 5 assumes a new Bot runs on your current branch, and you change that from the Bot web interface.
A short CocoaHeads show and tell on IBOutletCollection, the outlet type that hands you an array of views instead of one.
Homebrew's Jenkins install binds to localhost only. How to change httpListenAddress so you can reach the server from another Mac.
A practice screencast introducing Objective-C categories, made while I work out how to do educational video well.
Grabbing Xcode as a DMG saves re-downloading from the Mac App Store, but a 1.3 GB docs download still waits at first launch.
An Xcode tip found while wrestling with RestKit serialization. How to run only the tests you care about right now.