Published onNovember 17, 2023Blocks - Closures Before Swift ExistedObjective-CConcurrencyFundamentalsBefore Swift closures, Objective-C had blocks. The syntax is different, but the power is the same—here's how to use them effectively.
Published onOctober 5, 2023The NSObject Class Hierarchy ExplainedObjective-CFoundationFundamentalsEvery Objective-C class inherits from NSObject (usually). Here's what NSObject provides and why it matters for every object you create.
Published onAugust 29, 2023Categories vs Class Extensions in Objective-CObjective-CFundamentalsBest-PracticesBoth let you add methods to classes, but categories and class extensions serve different purposes. Here's when to use each.
Published onJuly 11, 2023Message Passing - The Heart of Objective-CObjective-CRuntimeFundamentalsUnlike C++ virtual methods, Objective-C uses dynamic message passing. Understanding this mechanism unlocks the language's full power.