Wikipedia is good:
http://en.wikipedia.org/wiki/Object-...ed_programming
I'm not sure OOP is as important as event-driven programming for iPhone development, but here is a go:
Object-oriented programming means developing your application by designing its processes by modeling the interactions of simulations of "real" (concrete) items. These in-computer representations of items are called objects.
Objects consist of some data (state) and procedures (called methods) that operate on the data. The classical example is a money management program. Your program needs to model accounts, which have state information (such as account balance and institution) and operations (such as Deposit or Withdraw).
Objects are (typically) instances of classes, which are like recipes that describe the data and methods of the objects. You can have multiple objects that all belong to the same class, each with different data values (different account balances) but all having the same type of data. Classes (typically) belong to an inheritance hierarchy, that let's a particular class be described by its differences from a base class, rather than each class being independent. For example, you could have an Account class, and then CheckingAccount and SavingsAccount classes with specialized information (number of checks written this month, etc).
Objects data is typically scoped so that it can not be accessed from outside the object, forcing the consumer to manipulate the state through the provided methods. Similar to the relational model of databases, this isolates the internal state and functioning of the object through a public API (its public methods) which allows changes to be made in the private functioning of the object without affecting consumers.
To make this easier, objects can have properties, which look like direct access to state from the consumer's point of view, but are mediated through methods from the class designer point of view. For example, a Temperature object could have a double value to hold its temperature in degrees Kelvin, and properties that represent the temperature in Celsius, Fahrenheit and Kelvin. Setting the Kelvin property which just store the new value. Setting the Celsius property would convert the Celsius value to Kelvin, then store that value. Similarly, reading the property would do any necessary conversion and return the appropriate value.
Changing the Temperature object to store Fahrenheit instead would mean changing the method definitions in the objects, but a program that uses the object would be unaffected. This encapsulation encourages programming in small, understandable chunks and decrease coupling across separate program concerns, allowing independent development and testing or just independent focus when programming. It is also part of the basis for Brad Cox's concept of the "Software IC" where off-the-shelf software components could be combined together to create working applications.
For some concrete iPhone examples, the on-screen controls that you interact with such as buttons on the keypad, are represented in the program by instances of a UIButton class that understands how to interpret contact with the screen as a button press, respond by highlighting itself on the screen, and sending a message (calling a method) to the object delegated to care about the button press.