Thu, Mar 26
Functional, Declarative Approach to Building a User Interface

ComponentKit puts a unique spin on describing and building a user interface:

“It lets you focus on what your UI should look like, not the steps necessary to build it. It emphasizes a one-way data flow from immutable models to immutable components that describe how views should be configured. It does the heavy lifting of building a view hierarchy from this description.”

This is a powerful concept, moving from code specific statements (e.g layoutSubviews) to more a more generic idea such as “stack these UI elements, one atop the other.”

Wed, Mar 25
as? Operator for Objective-C

SwiftyAs provides similar functionality to the as? operator in Swift, allowing for safer type casts. So how is this accomplished in Objective-C? Tom Adriaenssen:

“SwiftyAs introduces a category on NSObject, providing a readonly block property taking a Class and returning an id. The class represents the desired type.”

Xcode 6.3 and iOS 8.3 beta 4 Releases

Apple has released another round of beta’s for Xcode 6.3 and iOS 8.3.

Changes includes Objective-C nullability qualifiers for better interoperability with Swift as well updated documentation in Xcode assertions in Swift.

Tue, Mar 24
Xcode Plugin: Visual CAMediaTimingFunction Curves

Xu Lian:

“CATweakerSense is an Xcode plugin that makes working with CAMediaTimingFunction more visual.”

CATweakerSense integration is very nice, put your cursor/caret on a CAMediaTimingFunction and it will show an overlay of the actual time curve. As a bonus, you can adjust the curve adjust it on-the-fly and immediately see the results.

NSCalendar Additions in Swift and Objective-C

Nate Cook on working with Dates:

“Combining sub-second precision, overlapping units, geopolitical time zone boundaries, localization differences in both language and grammar, and Daylight Saving shifts and leap year adjustments that literally add and remove whole chunks of time from measured existence, there’s a lot to process.”

Put another way, dates are a pain. Nate does a nice job explaining new functionality recently added to NSCalendar.