When writing code, you should use high-level frameworks whenever possible, rather than using the underlying framework. The high-level framework provides object-oriented abstraction for the underlying construct. These abstractions reduce the number of lines of code you need to write, as well as encapsulate complex features such as sockets and threads, making it easier to write code. Although the high-level framework is an abstraction of the underlying structure, It does not make the underlying technique
Shielding them. If the high-level framework does not provide an interface for some of the underlying framework's capabilities, developers can use the underlying framework directly.
One, touch layer cocoatouch: Up to the application visual interface, down to the advanced system service interaction.
1 Features: multitasking, data protection, push service, local notification, gesture recognizer (uigesturerecognizer), File Share (uifilesharingenabled), point-to-point service (Bluetooth), standard system View Controller (album, email, SMS, etc.);
2 ) Framework: Addressbookui, Eventkitui, Gamekit, IAd, Mapkit, Messageui, UIKit;
Media layer: Graphic technology (Quartz Core), audio technology, video (AV Foundation).
1 ) Framework: Assetslibrary (Asset Library: albums, videos, etc.), avfoundation (audio
Audio playback recording: CoreAudio,
Audiotoolbox (Vibration), audiounit (processing)), Coregraphics (drawing,
Gradient, jagged, coordinate space, etc.), Coretext (text), Corevideo (slow
ImageIO), MediaPlayer (media playback), OpenAL (cross-platform sound
Opengles (Draw 2D and 3D), Quartzcore (Advanced dynamic
Painting production)
Core Services: Basic system services.
1 ) Features: block object, GCD (multitasking), in app Purchase (in-app purchase), Core location, SQLite, XML;
2 ) Framework: AddressBook (contact person), cfnetwork (Network), CoreData, corefoundation (data Management), Corelocation, CoreMedia, Coretelephony (cellular wireless information), Eventkit (Calendar event, alarm), Foundation, mobilecoreservices (type identifier), QuickLook (view file), Storekit (in-store), SystemConfiguration (judging network connection);
Core OS: Memory management, file system, operating system tasks. Interact with the hardware.
1 ) Framework: Accelerate (performs mathematical, large digital, DSP operations), Externalaccessory (obtains information for each peripheral and initializes a communication session), Security (Management certificate, public key, private key, trust policy).
iOS layer (frame)