NSError et __ _ _ autoreleasing

Quelqu'un peut-il m'expliquer le but d'avoir __autoreleasing dans l'exemple de code suivant bloc?

- (void)execute:(NSError * __autoreleasing *)error {
    //do stuff, possibly assigning error if something went wrong
}

J'ai enlevé le __autoreleasing et tout semble encore à compiler/exécuter amende. J'ai commencé à utiliser l'obj-c poste à l'ARC donc je n'ai jamais vraiment appris/compris tous ceux de double underscore thingamajigs. J'ai lu le ARC guide de transition, mais je ne comprends pas tout leur NSError exemple.

InformationsquelleAutor chinabuffet | 2012-11-27