Сохранение объектов ARC в классах c++

У меня есть некоторый код, который должен оставаться как c++, но мне нужно хранить объекты objective-c в этих классах c++. Пока объекты хранятся здесь, на них больше нигде не будет ссылок, поэтому я не могу допустить их удаления из-под носа. До ARC я просто сохранял их, прежде чем поместить в класс c++, и автоматически освобождал их, когда они удалялись. Все работало нормально.

Но с ARC я не знаю, что делать. Достаточно ли сделать переменные c++ __unsafe_unretained? Не похоже, что достаточно, потому что как только код obj-c перестанет использовать этот объект, он будет удален, или я не понимаю, что делает __unsafe_unretained. Можно ли вызывать CFRetain() и CFAutorelase() в ARC?

Как правильно поступить с этим в ARC? Что делает NSArray, чтобы сохранить объекты, которые он хранит?

13
задан Catfish_Man 20 December 2011 в 03:05
поделиться