The Cocoa Touch frameworks that drive iPhone OS applications share many proven patterns found on the Mac, but were built with a special focus on touch-based interfaces and optimization. UIKit provides the basic tools you need to implement graphical, event-driven applications in iPhone OS. UIKit builds on the same Foundation framework infrastructure found on the Mac OS X, including file handling, networking, string building, and more.
The unique interface of iPhone means that Cocoa Touch has a unique design to match. Using UIKit you have access to the special GUI controls, buttons, and full-screen views on iPhone OS. You also get to control your application with the accelerometer and the multi-touch gesture.
Built on Objective-C
Much of Cocoa Touch is implemented in Objective-C, an object-oriented language that is compiled to run at incredible speed, yet employes a truly dynamic runtime making it uniquely flexible. Because Objective-C is a superset of C, it is easy to mix C and even C++ into your Cocoa Touch applications.As your application runs, the Objective-C runtime instantiates objects based on executing logic — not just in ways defined during compilation. For example, a running Objective-C application can load an interface (a nib file created by Interface Builder), connect the Cocoa objects in the interface to your application code, then run the correct method once the UI button is pressed. No recompiling is necessary.