Sun, Nov 23
Swift Substrings

Dalton Cherry provides a good introduction to Swift substrings.

I would agree with Dalton’s sentiment:

Overall substrings in Swift benefit from a more orthogonal design and I appreciate the thoughtfulness that has gone into the creation of the Swift.

Wed, Nov 19
Apple Watch App Developer Resources

In addition to the video mentioned yesterday, there are two additional resources provided by Apple that cover all the details to get started:

Apple Watch Human Interface Guidelines

WatchKit Programming Guide

For completeness, here’s the Getting Starting With WatchKit video.

Tue, Nov 18
Develop Apple Watch Apps – WatchKit SDK Released!

The wait is over, with the beta release of Xcode 6.2 and iOS 8.2 SDK, you can now begin development of applications for Apple Watch!

An application for Apple Watch consists of a WatchKit extension that runs on the iPhone as well as user interface resources that are installed on the Apple Watch.

“When your app is launched on Apple Watch, the WatchKit extension on iPhone runs in the background to update the user interface and respond to user interactions. WatchKit provides three opportunities to extend your iPhone app to Apple Watch: WatchKit apps, Glances, and actionable notifications.”

Video: Getting Started with WatchKit

Formatting Content and Printing on an iOS Device

Nate Cook does an excellent job detailing all the steps required for printing from an iOS device. This includes configuring the print job as well as the print options selectable by a user. The various properties of UIPrintInteractionController to format content prior to printing are also covered.

The post also includes both Swift and Objective-C code for all examples. This is a deep tutorial. Highly recommended.

Mon, Nov 10
Collection of Objective-C Macros

Below you’ll find a collection of Objective-C macros, a reader submission (thank you):

// Degree to Radians
#define degreesToRadians(x) (M_PI * x / 180.0)
// Timer Invalidation
#define UA_invalidateTimer(t) [t invalidate]; t = nil;

read more »