У меня есть NSArray
содержащие объекты. Я хочу создать вторичный NSArray
, содержащий только некоторые объекты в первом NSArray
. У меня есть что-то вроде:
[array1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if (something) {
[array2 addObject:obj]; // (1)
}
}];
[array1 release]; // (2)
Я думаю, что (1)
увеличит retainCount
объекта (что увеличит его с 1 до 2), затем (2)
уменьшит его (что приведет к 2 с 1 для объектов, добавленных в array2
и от 1 до 0 для объектов, которые не были добавлены).
Так что я ожидаю, что после этого будет безопасно получить доступ к объектам из array2
, а несоответствующие объекты, которые не прошли тест, будут освобождены.
Это правильно?