Objective-C Language Comptage automatique des références


Exemple

Avec le comptage automatique des références (ARC), le compilateur insère des instructions de retain , de release et d’ autorelease lorsque cela est nécessaire, ce qui vous autorelease de les écrire vous-même. Il écrit également des méthodes de dealloc pour vous.

Le programme exemple de Manual Memory Management ressemble à ceci avec ARC:

@interface MyObject : NSObject {
    NSString *_property;
}
@end

@implementation MyObject
@synthesize property = _property;

- (id)initWithProperty:(NSString *)property {
    if (self = [super init]) {
        _property = property;
    }
    return self;
}

- (NSString *)property {
    return property;
}

- (void)setProperty:(NSString *)property {
    _property = property;
}

@end
int main() {
    MyObject *obj = [[MyObject alloc] init];
    
    NSString *value = [[NSString alloc] initWithString:@"value"];
    [obj setProperty:value];

    [obj setProperty:@"value"];
}

Vous pouvez toujours remplacer la méthode dealloc pour nettoyer les ressources non gérées par ARC. Contrairement à l'utilisation de la gestion manuelle de la mémoire, vous n'appelez pas [super dealloc] .

-(void)dealloc {
   //clean up
}