Foundation Framework provides basic system services for all applications
Your applications, as well as UIKit and other frameworks, are built on the foundation of the Foundation framework. The Foundation framework provides a number of basic object classes and data types, making them the foundation for application development. It also has a number of conventions (for tasks such as canceling assignments) that make your code more consistent and reusable better.
Use Foundation:
Create and manage sets, such as arrays and dictionaries
Access images and other resources stored in the application
Creating and managing strings
Publish and observe notifications
Create date and Time objects
Automatically discover devices on an IP network
Manipulating URL flows
Execute code asynchronously
The UIKit framework provides classes that can be used to create a touch-based user interface
All IOS apps are based on UIKit. Without this framework, applications cannot be delivered. UIKit provides the infrastructure for drawing on the screen, handling events, and creating common user interface elements. UIKit also organizes complex applications by managing what is displayed on the screen.
Using UIKit:
Building and managing the user interface
Handle touch-and motion-based events
displaying text and Web content
Optimize your application for multi-tasking
To create a custom user interface element
Definition and use of framework fundation and Uikit frameworks