Na página 17 desta apresentação WWDC14 , diz
Trabalhando com Objective-C? Ainda preciso gerenciar pools de
liberação automática autoreleasepool {/ * code * /}
O que isso significa? Isso significa que, se minha base de código não tiver nenhum arquivo Objective-C, autoreleasepool {}
é desnecessário?
Em uma resposta a uma pergunta relacionada , há um exemplo em que autoreleasepool
pode ser útil:
- (void)useALoadOfNumbers {
for (int j = 0; j < 10000; ++j) {
@autoreleasepool {
for (int i = 0; i < 10000; ++i) {
NSNumber *number = [NSNumber numberWithInt:(i+j)];
NSLog(@"number = %p", number);
}
}
}
}
Se o código acima for traduzido para o Swift com autoreleasepool
eliminado, o Swift será inteligente o suficiente para saber que a number
variável deve ser lançada após o primeiro }
(como fazem algumas outras linguagens)?
autoreleasepool
no Swift. I expandiu sua pergunta e pediu-lo nos fóruns dev .