Frameworks
Before we get to coding, it's important that we talk about what a framework is, and how we use frameworks in iOS programming.
What is a framework?
When writing software, you'll find that you need to do the same things in almost every project. On a lower level, iOS itself handles a lot of the most fundamental functionality, like drawing pixels to the screen, or connecting to wireless networks.
However, as we move to higher levels of functionality we start to see the need for reusable sets of code, but only around certain types of functionality. These reusable, (mostly) self-contained blocks of code that focus on specific functionality are called frameworks.
For example, if we want to work with the photos on a user's device, we'd have to create the functionality to load the user's photos, build an interface to view the photos, allow the user to edit and save photos, and so on. In cases like this, we can create a framework which does all of these things, and then import that framework...