Core foundation vs Foundation or Core foundation+ Foundation

As a beginner I have started study Objective-c concepts, but there are many points that I force Core foundation concepts and methods that explained in references and guides, specially when it comes to memory management topics (MRC, ARC, toll free bridges …).

Now I want to know, in future When I try to jump to Cocoa or Cocoa touch to create Apps, Foundation will support all of my needs to make any sort of Apps (Utility, Games ,…)or without study Core foundation programming I lose one leg and have to come back to find it???

otherwise I can study both of them parallel.

1 Solution

Core Foundation is a set of foundational APIs for some very well used and basic functionalities in the system. Their existence in C is partially historical, and partially to promote use in tools, such as command line utilities, which were historically considered difficult to program in Cocoa.

Many iOS programmers never directly use Core Foundation APIs, because much of the functionality is available in the Cocoa or Cocoa Touch Foundation framework classes. However, you cannot write an iOS (or OS X) application without Cocoa or Cocoa Touch.

From my experience, it is good to understand the concepts behind both Core Foundation and the Cocoa/Cocoa Touch Foundation frameworks and especially their interactions (toll-free bridging and memory management at the interface between the two in an ARC environment), but for many people, the Core Foundation pieces can be left until later.

Personally, I would suggest that a basic understanding of the concepts above is a good idea to anyone programming the Mac or iOS.