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.
Swift 5.5 is a major release introducing powerful concurrency features like async/await, structured concurrency, and Actors, alongside other enhancements.
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.
NSError is Cocoa's way to handle errors without exceptions. It tells about failures with a code, domain, and userInfo dictionary.
Key-Value Observing (KVO) has an ugly, wordy API, but it is one of Cocoa’s most powerful features.
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.
Enumeration makes computation powerful by applying logic to collections.
In Objective-C, Foundation has macros like NSAssert for methods and NSCAssert for functions. They also have versions for parameters: NSParameterAssert and NSCParameterAssert.
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.
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:.
NS_ENUM and NS_OPTIONS are the modern, Apple-approved way to declare enums and bit-masks.