The first method allows you to request
the password associated with an
existing username for a particular
service name (I’ve just been using the
name of my app as a service name). The
second allows you to store a
username/password/service name combo,
and allows you to specify whether or
not the appropriate keychain item
should be updated with the provided
password if an existing one is found
that matches the username and service
name pair. The last parameter of each
is a reference to an NSError object
which will contain lower level error
information if something goes wrong
(and be nil if it does not).