Contents

CFArray

Declaration

class CFArray

Overview

CFArray and its derived mutable type, CFMutableArray, manage ordered collections of values called arrays. CFArray creates static arrays and CFMutableArray creates dynamic arrays.

You create a static array object using either the CFArrayCreate(_:_:_:_:) or CFArrayCreateCopy(_:_:) function. These functions return an array containing the values you pass in as arguments. (Note that arrays can’t contain NULL pointers; in most cases, though, you can use the kCFNull constant instead.) Values are not copied but retained using the retain callback provided when an array was created. Similarly, when a value is removed from an array, it is released using the release callback.

CFArray’s two primitive functions CFArrayGetCount(_:) and CFArrayGetValueAtIndex(_:_:) provide the basis for all other functions in its interface. The CFArrayGetCount(_:) function returns the number of elements in an array; CFArrayGetValueAtIndex(_:_:) gives you access to an array’s elements by index, with index values starting at 0.

A number of CFArray functions allow you to operate over a range of values in an array, for example CFArrayApplyFunction(_:_:_:_:) lets you apply a function to values in an array, and CFArrayBSearchValues(_:_:_:_:_:) searches an array for the value that matches its parameter. Recall that a range is defined as {start, length}, therefore to operate over the entire array the range you supply should be {0, N} (where N is the count of the array).

CFArray is “toll-free bridged” with its Cocoa Foundation counterpart, NSArray. This means that the Core Foundation type is interchangeable in function or method calls with the bridged Foundation object. Therefore, in a method where you see an NSArray * parameter, you can pass in a CFArrayRef, and in a function where you see a CFArrayRef parameter, you can pass in an NSArray instance. This also applies to concrete subclasses of NSArray. See Toll-Free Bridged Types for more information on toll-free bridging.

Topics

Creating an Array

Examining an Array

Applying a Function to Elements

Getting the CFArray Type ID

Callbacks

Data Types

Constants

See Also

Related Documentation

  • Property List Programming Topics for Core Foundation
  • Collections Programming Topics for Core Foundation

Opaque Types