Example: The -save: method of NSManagedObjectContext is declared like this:
- (BOOL)save:(NSError **)error
Since
If you just passed in a pointer, all the method could do would alter the already existing NSError object that you are pointing to.
You cannot alter an NSError object.
NSError is immutable. That's the reason you need the pointer to the NSError variable. You can only create a brand new NSError. Thus you change the pointer to point to your newly created NSError.