В чем разница и совместимость Clayer и Calayer?
-
10-10-2019 - |
Вопрос
Я сбиваю с толку CGLayer
а также CALayer
. Анкет Они выглядят одинаково, так почему есть отдельные реализации? В чем разница между и совместимостью, CGLayer
а также CALayer
?
Решение
Они совершенно разные и не совместимы.
Быть абсолютно ясным:
это Строго совпадение что слово «слой» используется в обоих имена; они есть совершенно не связанный.
Clayers - это «особенная» «высокая производительность».
Вы можете считать их «как растровые, но лучше».
Apple села и сказала: «Мы устали от людей, использующих растровые карты, давайте сделаем что -нибудь лучше!» :-)
Действительно, вы работаете только с Clayers за пределами экрана.
Чтобы повторить, Clayers полностью используются за кадром.
Как только они будут готовы, вы можете взорвать их на свой фактический экран (то есть взорвать их в один из ваших взглядов).
(Однако: Обратите внимание, что: Clayers часто используются «в одиночку». Когда я говорю, что они используются «только», я имею в виду, что они используются для: обработки изображений или математических расчетов. В этом случае на экране никогда не видели, и они совершенно не имеют связи с экраном.)
Наоборот ... Calayers - это просто вещи "в" взглядах. Calayers - это то, как работают просмотры.
Так что две концепции совершенно разные.
Calayers - это просто то, что «в» взгляды. В отличие от Clayers - это прохладная «за кадром, высокая производительность, высокая производительность, вычисления».
Чтобы быть ясным, у Clayers совершенно нет никакой связи с взглядами и никакой связи с взглядами. (Конечно, вы можете вставить Clayer в представление, но тогда вы можете вставить «типографику» или «изображение» в представление. Типография и изображения не являются представлениями, и Clayers не являются представлениями.)
Типичным примером является следующее:
Вы хотите нарисовать что-то сложное один раз, а затем много раз нарисовать эту вещь на экране. Ответ на эту проблему - именно Clayers. Ваша «рабочая зона» будет Clayer; Затем вы можете перемещать его на принтер, на экран или что -то еще.
Чтобы быть ясным, на мой взгляд, Apple должна была выбрать другое имя ...
Хорошим названием было бы «cgcalculationpace».
Тот факт, что имя содержит слово «слой», заставляет вас думать о NSLAYERS.
Повторить: вообще нет абсолютно никаких отношений. Clayers даже не смутно связаны со слоями.
Нет никакого соединения, вообще. Действительно сбивает с толку, что буквы «слой» используются во имя - это позор !!
Clayers следует называть, возможно, «рабочими пространствами» или «парадигмами расчета» или что -то в этом роде.
Надеюсь, это поможет и надеюсь, что вы все еще читаете!