Вы должны отпустить или автоматически выпустить оба.Для NSString каждый раз, когда вы используете alloc + init для создания объекта, вы устанавливаете его счетчик ссылок на 1. Вы несете ответственность за его освобождение по завершении или за автоматическое освобождение его сейчас, чтобы разрешить его освобождение в конце цикла выполнения.
Для CFObject ABMultiValueCopyArrayOfAllValues возвращает CFArray, который является «свободным мостом» для NSArray (то есть он может использоваться взаимозаменяемо с NSArray).Каждый раз, когда выполняется копирование - как следует из названия метода, вы несете ответственность за освобождение возвращенного объекта.Опять же, вы можете освободить его сразу же после того, как с ним покончено, или сделать это автоматически, чтобы освободить его после завершения цикла выполнения.