The iOS framework that grows only as fast as its documentation
Non-Retaining Collections

Functions

NSMutableArray * NICreateNonRetainingMutableArray (void)
 
NSMutableDictionary * NICreateNonRetainingMutableDictionary (void)
 
NSMutableSet * NICreateNonRetainingMutableSet (void)
 

Overview

For collections that don't retain their objects.

Non-retaining collections have historically been used when we needed more than one delegate in an object. However, NSNotificationCenter is a much better solution for n > 1 delegates. Using a non-retaining collection is dangerous, so if you must use one, use it with extreme care. The danger primarily lies in the fact that by all appearances the collection should still operate like a regular collection, so this might lead to a lot of developer error if the developer assumes that the collection does, in fact, retain the object.

Function Documentation

NICreateNonRetainingMutableArray

Creates a mutable array which does not retain references to the objects it contains.

NSMutableArray* NICreateNonRetainingMutableArray:;
Discussion

Typically used with arrays of delegates.

NICreateNonRetainingMutableDictionary

Creates a mutable dictionary which does not retain references to the values it contains.

NSMutableDictionary* NICreateNonRetainingMutableDictionary:;
Discussion

Typically used with dictionaries of delegates.

NICreateNonRetainingMutableSet

Creates a mutable set which does not retain references to the values it contains.

NSMutableSet* NICreateNonRetainingMutableSet:;
Discussion

Typically used with sets of delegates.