Objective-C

See all tags

Objective-C is a programming language that was the main language for Apple software development before Swift. It adds object-oriented features to the C language and was used to build apps for macOS and iOS for many years. Although largely replaced by Swift, it is still found in older codebases.

10 posts

Swift 5.5 Released!

Swift 5.5 is a major release introducing powerful concurrency features like async/await, structured concurrency, and Actors, alongside other enhancements.

Development

Faster Mix-and-Match Builds with Precompiled Bridging Headers

Build times in Xcode projects that mix Objective-C and Swift rise due to the Swift compiler re-processing large bridging headers for each Swift file.

Development

NSError

NSError is Cocoa's way to handle errors without exceptions. It tells about failures with a code, domain, and userInfo dictionary.

Development

Key-Value Observing

Key-Value Observing (KVO) has an ugly, wordy API, but it is one of Cocoa’s most powerful features.

Development

NSHashTable & NSMapTable

NSHashTable acts as a general version of NSSet. It is mutable, holds weak references, can copy items on input, and handles arbitrary pointers using pointer identity for equality and hashing.

Development

NSEnumerator / NSFastEnumeration

Enumeration makes computation powerful by applying logic to collections.

Development

NSAssertionHandler

In Objective-C, Foundation has macros like NSAssert for methods and NSCAssert for functions. They also have versions for parameters: NSParameterAssert and NSCParameterAssert.

Development

NSValue

NSValue is the lightweight way to put any C scalar or struct (int, float, CGPoint, CGRect, NSRange, etc.) into an object so it can live in NSArray, NSDictionary, NSSet, etc.

Development

KVC Collection Operators

The article discusses Key-Value Coding (KVC) Collection Operators in Objective-C, which provide a concise, Ruby-like syntax for performing aggregate operations on collections using valueForKeyPath:.

Development

NS_ENUM & NS_OPTIONS

NS_ENUM and NS_OPTIONS are the modern, Apple-approved way to declare enums and bit-masks.

Development