NSCalendar Additions
NSCalendar offers many tools for working with dates beyond basic NSDateComponents.
NSCalendar offers many tools for working with dates beyond basic NSDateComponents.
NSScanner wraps a string to pull out substrings and numbers. It has properties like caseSensitive (for matches), charactersToBeSkipped (ignores chars), scanLocation (current position), locale (for numbers).
NSUndoManager gives you full undo/redo with almost no code. While you change something, tell the undo manager how to reverse it.
iOS 8 introduces significant updates to the Core Location framework, enhancing developer capabilities and user privacy through granular permissions, indoor positioning, and visit monitoring.
NSOperation is an abstract class for a single unit of work. It manages state, priority, dependencies, and cancellation in a thread-safe way.
The article explores the roles of IBAction, IBOutlet, and IBOutletCollection in Objective-C development for Cocoa and Cocoa Touch, highlighting their evolution from necessary Interface Builder directives to vestigial yet culturally significant markers.
MKGeodesicPolyline, added in iOS 7, draws the true shortest path between points on the Earth’s curved surface. On a flat map this appears as a gentle arc instead of a straight line.
iOS 7 quietly brought three powerful new MapKit tools that fixed many old complaints about Apple Maps. Together these solved the biggest developer gripes: ugly base maps, no static map images, and no routing. Even today they remain some of the most generous (and under-used) mapping APIs on iOS.
NSRange is a Foundation struct for a contiguous interval of integers, with location (start) and length. It helps avoid off-by-one errors compared to start/end pairs.
Multipeer Connectivity (introduced in iOS 7) lets nearby iPhones, iPads, and Macs talk directly to each other using Wi-Fi, peer-to-peer Wi-Fi, or Bluetooth. No internet, no server, no central service required.
NSNotificationCenter acts as a central hub. Any part of an app can send notices or listen for changes from others. Observers sign up for certain events and get a callback when they happen.
NSPredicate is a Foundation class that defines logical conditions to fetch or filter data. Its syntax mixes SQL WHERE clauses with regex for expressive queries on collections.
NSExpression is a class in Cocoa that simplifies complex data tasks. It evaluates mathematical expressions, such as 4 + 5 - 2**3, which gives 1.
Apple stopped letting apps use the unique device identifier, called UDID, from iOS 5 onwards. Apple blocked new apps using it after May 2013.
Apple gives options like Core Data or NSKeyedArchiver with NSKeyedUnarchiver. These turn objects into data and back again.
MKLocalSearch lets your app search for places (restaurants, shops, etc.) using normal language, all powered by Apple’s own data.
NSSecureCoding is a protocol from iOS 6 / OS X Mountain Lion. It adds the class method supportsSecureCoding.
NSURLCache is the built-in, automatic HTTP(S) cache used by NSURLConnection, NSURLSession (default/ephemeral configs), and WKWebView.
NSLocalizedString is a macro in Foundation that gives a localised version of a string. It takes a key to find the string and a comment to help translators.
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:.
NSOrderedSet is not a subclass of NSSet due to problems with Objective-C's single inheritance and the mutable/immutable class pairs in Foundation's class clusters.
NSURLProtocol is the most powerful (and least-known) piece of Apple’s URL Loading System.
NSLinguisticTagger offers powerful tools to process natural language. It breaks strings into tokens, finds parts of speech and stems, pulls out names of people, places, and groups, and spots languages and scripts.
The Address Book UI framework in iOS, used alongside AddressBook.framework, provides controllers for managing contacts but includes a uniquely valuable function, ABCreateStringWithAddressDictionary(), which formats address components into a localised string.
The article explores the CFBag and CFMutableBag Core Foundation types, which implement a bag (multi-set) data structure, allowing multiple occurrences of elements with associated counts.