Ich habe über Autoreleasepool gelesen, aber es gibt einen Punkt, der ein bisschen unklar für mich ist. Ich habe einige Funktionalität mit Threads, die separate Speicherverwaltung mit Autorespulepool benötigt.iPhone Autoreleasepool und Allokationen
Im folgenden Beispiel korrekt ist
-(void) doSomething {
NSAutorelease *pool = [[NSAutorelasepool alloc] init];
NSString *myString = @"Hello";
[pool release];
}
Ist das richtig?
-(void) doSomething {
NSAutorelease *pool = [[NSAutorelasepool alloc] init];
NSString *myString = [[NSString alloc] initWithString:@"Hello"];
[pool release];
}
oder das?
-(void) doSomething {
NSAutorelease *pool = [[NSAutorelasepool alloc] init];
NSString *myString = [[NSString alloc] initWithString:@"Hello"];
[myString release];
[pool release];
}
Meine Frage ist im Besitz Objekte im Rahmen des Autofreigabepools erstellt müssen speziell relased werden oder ist die betreut, wenn der autorelasepool freigegeben wird worden?
Teo
Eigentlich spricht er über Thread. Also Autorelease Pool ist notwendig. – taskinoor
Was, wenn er keine automatisch freigegebenen Objekte erstellt? – zoul
@zoul, bitte überprüfen Sie den letzten Teil meiner Antwort. Auch wenn Sie dem vielleicht nicht zustimmen, werde ich lieber den Best Practices folgen. – taskinoor