objc_msgSend's New Prototype
Explains the technical reasons behind the change to objc_msgSend's function prototype in Apple's Objective-C runtime.
Mike Ash — Veteran Apple-platform developer and writer known for deep dives into Objective-C, Swift, runtimes, and low-level system behavior through his long-running Friday Q&A series.
16 articles from this blog
Explains the technical reasons behind the change to objc_msgSend's function prototype in Apple's Objective-C runtime.
A guide to using C-Reduce, a tool for automatically reducing complex C programs to minimal test cases to isolate bugs.
A technical guide on implementing Markov chains in Swift to generate realistic but nonsensical text from a given corpus.
Explains type erasure in Swift, covering its purpose, use cases like AnySequence, and how to implement it to hide concrete types.
A technical analysis of Apple's A11 CPU, exploring its heterogeneous core architecture and methods to observe performance and efficiency cores in action.
An updated guide to locks, mutexes, and thread safety in Swift, covering modern APIs and best practices for concurrent programming.
A Swift library for creating type-safe, declarative keys for UserDefaults, eliminating casting and string repetition.
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.
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.
A deep technical dive into the ARM64 assembly implementation of Objective-C's core message-sending function, objc_msgSend.
Mike Ash announces a hiatus from regular blog posts to focus on completing his book, 'The Complete Friday Q&A: Volume II'.