Да. Вы получаете CGColorSpaceRef
через функцию CGColorGetColorSpace
.
Согласно правилу «Создать / Копировать», у вас нет права собственности на этот объект.
Так что вам не нужно выпускать его, с CGColorSpaceRelease
.
Выпускать только тот объект, который вы явно выделили или скопировали.
Это действительно для Objective-C, а также для классов стилей CF.
В Objective-C это означает, что вызов alloc
или вызов copy
(и, конечно, явный вызов retain
) потребует освобождения.
С классами CF вам нужно освобождать, если вы приобрели объект с методом с именем 'create' или 'copy' в его имени. Конечно, для явного вызова CFRetain
также потребуется выпуск.
К вашему сведению, это даже сказано в документации к функции CGColorGetColorSpace
, даже если правило «Создать / Копировать» ясно об этом:
Вы несете ответственность за его сохранение и освобождение по мере необходимости.
Значение объекта не будет сохраняться в памяти, если вы не сохраните его явно. Так что, если вы этого не сделаете, вам не нужно выпускать его.