UIKit init patterns
Explains UIKit initialization patterns for UIViewController and UIView in Swift, covering storyboard, nib, and programmatic setup.
Explains UIKit initialization patterns for UIViewController and UIView in Swift, covering storyboard, nib, and programmatic setup.
A Swift library for creating type-safe, declarative keys for UserDefaults, eliminating casting and string repetition.
Introduces LifetimeTracker, a tool for iOS developers to detect retain cycles and memory leaks during development, improving debugging efficiency.
Explains the implementation details and changes to weak references in Swift 4, comparing the old and new runtime behavior.
Highlights the key new features and improvements introduced in the Swift 4 programming language.
Mike Ash announces corporate Swift training, a NYC Swift workshop, and an update on his upcoming book compilation of Friday Q&A articles.
Explains a Swift KVO crash with .initial option and provides a solution using global/static context variables for thread safety.
A deep dive into the internal implementation of Swift's error handling mechanism, comparing Swift 3 and Swift 4.
Explains Swift's Unmanaged struct for converting Swift object references to/from raw pointers when working with C APIs.
A technical article exploring the implementation of a custom binary encoder/decoder for Swift using the Codable protocol.
An in-depth look at Swift 4's Codable protocol, exploring its features for automatic serialization and comparing it to older Apple serialization methods.
Tips for improving Objective-C code using Swift-inspired macros and techniques, focusing on type inference and modern syntax.
A tutorial on implementing a drop shadow effect on a UIVisualEffectView in iOS, similar to the style used in the iOS Maps app.
Explains the behavior and potential dangers of using beforeSuite and afterSuite hooks in the Quick testing framework for Swift.
Explains the execution order of nested beforeEach and afterEach blocks in the Quick testing framework for Swift.
Explains the differences between Nimble's toEventually and waitUntil for testing asynchronous Swift code, with guidance on when to use each.
Explains how to use Swift protocol composition to simplify dependency injection and reduce boilerplate in iOS projects.
A Swift developer recreates Ruby's 'unless' keyword in Swift, discussing its differences from 'guard' and sharing the implementation.
A Swift developer introduces a 'strongify' function to simplify and clean up the common pattern of weak-strong dancing when avoiding retain cycles in closures.
A tutorial on using XCTest closure-based expectations with NSPredicate to test asynchronous Swift code.