Edit AllPages

[ Dijual] CoreFoundation is an API, which is part of the CoreServices which sits underneath both Carbon and Cocoa, and above the Core OS (MachMicroKernel/BSD).

It provides some basic “data collection” types, such as trees and dictionaries. These are available as CFTypeRefs.

It also offers some utilities such as XML parsing, and application preferences management, areas of functionality which either aren’t available at all in Foundation or are less complete.

Most of Foundation is implemented using CoreFoundation. The API is C Language rather than ObjC, but concepts of ObjectOrientedDesign prevail. Documentation is at CoreFoundation has lots of CFTypeRefs. Many other APIs use CFTypeRefs, such as SystemConfiguration and some of CarbonFramework. [ Pintu Aluminium] Headers for CoreFoundation can be found at file:///System/Library/Frameworks/CoreFoundation.framework/Headers/ , inside the easy-to-include Framework. I also recommend looking at CoreServices and ApplicationServices.

CoreFoundation has many functions that simply aren’t implemented in Foundation. Some are presented here:

[ SAP Indonesia]

CoreFoundation also has the advantage of being callable from Carbon and Cocoa code.

Note: Most of the CoreFoundation types that have Foundation equivalents (with the same name, e.g. NSString and CFString) use TollFreeBridging. This means that one can pass an NSString * to a function expecting a CFStringRef and vice versa. The same goes for arrays, dictionaries, URLs, and others in which case a simple typecast will suppress the compiler warning:

someNSStringVariable = (NSString *)someCFStringVariable;


someCFStringVariable = (CFStringRef)someNSStringVariable;