Вопрос

Я сбиваю с толку CGLayer а также CALayer. Анкет Они выглядят одинаково, так почему есть отдельные реализации? В чем разница между и совместимостью, CGLayer а также CALayer?

Это было полезно?

Решение

Они совершенно разные и не совместимы.

Быть абсолютно ясным:

это Строго совпадение что слово «слой» используется в обоих имена; они есть совершенно не связанный.

Clayers - это «особенная» «высокая производительность».

Вы можете считать их «как растровые, но лучше».

Apple села и сказала: «Мы устали от людей, использующих растровые карты, давайте сделаем что -нибудь лучше!» :-)

Действительно, вы работаете только с Clayers за пределами экрана.

Чтобы повторить, Clayers полностью используются за кадром.

Как только они будут готовы, вы можете взорвать их на свой фактический экран (то есть взорвать их в один из ваших взглядов).

(Однако: Обратите внимание, что: Clayers часто используются «в одиночку». Когда я говорю, что они используются «только», я имею в виду, что они используются для: обработки изображений или математических расчетов. В этом случае на экране никогда не видели, и они совершенно не имеют связи с экраном.)

Наоборот ... Calayers - это просто вещи "в" взглядах. Calayers - это то, как работают просмотры.

Так что две концепции совершенно разные.

Calayers - это просто то, что «в» взгляды. В отличие от Clayers - это прохладная «за кадром, высокая производительность, высокая производительность, вычисления».

Чтобы быть ясным, у Clayers совершенно нет никакой связи с взглядами и никакой связи с взглядами. (Конечно, вы можете вставить Clayer в представление, но тогда вы можете вставить «типографику» или «изображение» в представление. Типография и изображения не являются представлениями, и Clayers не являются представлениями.)

Типичным примером является следующее:

Вы хотите нарисовать что-то сложное один раз, а затем много раз нарисовать эту вещь на экране. Ответ на эту проблему - именно Clayers. Ваша «рабочая зона» будет Clayer; Затем вы можете перемещать его на принтер, на экран или что -то еще.

Чтобы быть ясным, на мой взгляд, Apple должна была выбрать другое имя ...

Хорошим названием было бы «cgcalculationpace».

Тот факт, что имя содержит слово «слой», заставляет вас думать о NSLAYERS.

Повторить: вообще нет абсолютно никаких отношений. Clayers даже не смутно связаны со слоями.

Нет никакого соединения, вообще. Действительно сбивает с толку, что буквы «слой» используются во имя - это позор !!

Clayers следует называть, возможно, «рабочими пространствами» или «парадигмами расчета» или что -то в этом роде.

Надеюсь, это поможет и надеюсь, что вы все еще читаете!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top