Вот мой конкретный взгляд на ARC:
1) В XCode есть меню «Преобразовать в цель C ARC».Является ли преобразование настолько простым (не о чем беспокоиться)?
Это просто.Оно работает.Используй это.Тем не менее, как указывает Кевин Лоу, вам нужно будет пройтись и исправить биты, в которых вы используете объекты Core Foundation.Это только потребует здоровой привязки __bridge
или __bridge_transfer
, хотя.
2) Поможет ли это мне уменьшить объем памяти моих приложений, утечки памяти и т. Д.(как-то?)
Нет, не совсем.ОК, вроде.Это поможет уменьшить утечки памяти, если вы ранее неправильно кодировали.Это не уменьшит объем используемой памяти.
3) Оказывает ли это большое влияние на тестирование моих приложений?
Нет вообще.
4) Каковы неочевидные преимущества?
Будущее.Еще больше получится от бонуса, который дает компилятор с глубоким знанием того, как объекты считаются ссылками.Например, ARC уже предлагает прекрасную оптимизацию objc_retainAutoreleasedReturnValue
, что очень приятно.
5) Есть ли какие-либо недостатки при переходе на нее?
Ничего подобного.
Пожалуйста, поверьте мне на слово и начните использовать ARC.Нет никаких оснований (IMO) не делать этого, поэтому преимущества определенно перевешивают недостатки!
Для более глубокого взгляда на то, как работает ARC, возможно, чтобы убедить вас в том, что это хорошо, пожалуйста, посмотрите на мойсообщения в блоге под названием «Взгляд под капот ARC» - здесь , здесь , здесь & здесь .