У меня есть вопрос о ARC nad NSMutableArray.
Вот случай:
У меня есть ListView с NSMUtableArray (arr1
), который содержит все элементы списка.Отдельный поток, который выполняется в собственном коде, превращает обратные вызовы в объектный объект ListView.Собственный код создает новый NSMutableArray (arr2
), заполняет его элементами моего пользовательского класса (каждый элемент имеет имя, идентификатор, значок и т. Д.), А затем передает его в ListView.
В ListViewсначала я очищаю массив с помощью [arr1 removeAllObjects]
, затем добавляю каждый элемент от arr2
до arr1
с помощью [arr1 addObject: ..]
.
NOTES :
*Весь код, как собственный, так и target-c, скомпилирован как код Objective-C ++.
* Часть собственного кода, которая выделяет и инициализирует arr2
(и все его элементы) и вызывает элементы ListView, - это всепо директиве @autoreleasepool
Мои вопросы;
Есть ли утечки памяти из нативного кода?
Есть ли утечки памяти из кода ListView?Будут ли старые элементы, которые я выпускаю с [arr1 removeAllObjects]
, вызвать утечку памяти?
Предоставляет ли @autoreleasepool те же функции, что и ARC, то есть мне не нужно явно освобождать объекты?