/ / forza NSDictionary per rilasciare memoria - ogg-c, ios, ios5

forzare NSDictionary a rilasciare memoria - obiettivo-c, ios, ios5

Da qualche parte in un progetto ARC, ho:

//Class1.h
@interface Class1 {
NSDictionary * dict;
}

@fine

//Class1.m
@implementation Class1

-(void)loadDict {
NSDictionary * dict = [[NSDictionary alloc] init];
// Now load couple of (NSString *, NSString *) pairs into the dictionary
...
}

-(void)releaseAllMemoryUsedByDict {
//TODO
}

@end

Come posso liberare tutta la memoria occupata da dict,su richiesta? Suppongo che se avessi un NSMutableDictionary, potrei chiamare il suo metodo removeAllObjects. Come lo farei per NSDictionary? L'impostazione dict = NULL funzionerebbe?

risposte:

4 per risposta № 1

Impostandolo a nil funzionerà, presupponendo che nessun altro oggetto sia trattenuto da (has forte riferimento a) il NSDictionary.


4 per risposta № 2

Se imposti il NSDictionary a nil, o qualsiasi oggetto, sarà rilasciato, assumendo che nessun altro oggetto abbia un riferimento ad esso (questo su un ambiente ARC).