На сторінці 17 цієї презентації WWDC14 сказано
Робота з Objective-C? Все одно доведеться керувати пулами
автовипуску autoreleasepool {/ * код * /}
Що це означає? Чи означає це, що якщо в моїй базі коду немає файлів 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
скинутим, чи буде Swift досить розумним, щоб знати, що number
змінну слід випустити після першої }
(як це робить деякі інші мови)?
autoreleasepool
у Swift немає документації . Я розширив ваше запитання і задав його на форумах розробників .