Эта концепция меня беспокоит. Почему объект NSError нуждается в указателе, переданном методу, который модифицирует объект? Например, не просто ли передать ссылку на ошибку, сделайте то же самое?
NSError *anError;
[myObjc doStuff:withAnotherObj error:error];
а затем в doStuff:
- (void)doStuff:(id)withAnotherObjc error:(NSError *)error
{
// something went bad!
[error doSomethingToTheObject];
}
Почему это не работает, как большинство других шаблонов обмена объектами? Почему вместо этого мы должны использовать ошибку: (NSError **)?