The Cocoa framework consists of two core frameworks: Foundation and Application Kit (UIKit.
It is necessary in Cocoa development. Other frameworks (such as Core Data, Sync Services, Address Book, Preference Panes, Screen Saver, and Web Kit) are auxiliary and optional; the Foundation framework and Application Kit framework are distinguished by the user interface. If an object is neither displayed on the user interface nor used to support the user interface, it belongs to the Foundation framework. The command line tool and Internet server are examples of this.
The root of the Foundation class hierarchy is the NSObject class, which (together with the NSObject and NSCopying protocols) defines basic object attributes and behaviors.
The rest of the Foundation framework consists of several groups of associated classes and independent classes. There are some classes that represent basic data types, such as strings and byte arrays; Collection classes used to store other objects; some classes that represent system information, such as date classes; there are also some classes that represent system entities, such as ports, threads, and processes.
The Application Kit (UIKit) Framework contains all the objects required for graphic and event-driven user interfaces: window, dialog box, button, menu, scroll bar, text input box-This list is continuously added. The Application Kit consists of over 125 classes and protocols. All classes are ultimately inherited from the NSObject class of the Foundation framework. Application Kit helps you deal with all the details. It can efficiently describe the screen and communicate with building devices and screen buffers, clear the area on the screen and crop the view before plotting.