На странице 17 этой презентации WWDC14 говорится:
Работаете с Objective-C? По-прежнему нужно управлять автоматическим выпуском пулов
autoreleasepool {/ * code * /}
Что это значит? Означает ли это, что если в моей кодовой базе нет файлов Objective-C, в autoreleasepool {}
этом нет необходимости?
В ответе на связанный вопрос есть пример, где autoreleasepool
может быть полезно:
- (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);
}
}
}
}
Если приведенный выше код будет переведен на Swift с помощью autoreleasepool
drop, будет ли Swift достаточно умен, чтобы знать, что number
переменная должна быть выпущена после первой }
(как это делают некоторые другие языки)?
autoreleasepool
в Swift нет документации . Я расширил ваш вопрос и задал его на форумах разработчиков .