меня возникают некоторые проблемы производительности с моим приложением:Чрезмерное использование NSView -> Альтернативы?
Он занимает более 2 секунд для загрузки -> Так сразу я пошел к Apple, документации
В разделе под названием «Избегайте чрезмерного использования просмотров »внизу я очень смутился:
Я действительно добавляю много NSViews
(угадаю, что я их использовал).
« Вместо этого нужно написать свои собственные классы, которые могут управляться с помощью более высокого уровня NSView
подкласса. Розыгрыш код вашего NSView
подкласса может быть оптимизирована для обработки пользовательских объектов. »
Мой вопрос:
Как я могу написать свои собственные классы, которым может управлять подкласс высшего уровня NSView
-> любой пример?
Единственное, что я думал, было CALayer
.
Добавляет CALayer
подклассы лучше, чем добавлять NSView
? Было бы немного увеличить мою плохую производительность?
Или что-то новое для изучения?
EDIT:
В настоящее время у меня есть NSView
где я добавляющие 15 NSView
как подвид к ним, и я могу добавить 15 CALayer
с вместо: -/
Спасибо за ваш ответ. Можете ли вы предоставить более ясность в отношении «избегайте использования drawRect», если мне нужно только сплошное 'fillRect', я должен избегать' drawRect' и сделать 'NSView.layer.setBackgroundColor 'вместо этого? – ColdSteel
Если все, что мне было нужно, это сплошной прямоугольник, я бы использовал CALayer с backGroundColor, а не UIView. Я бы использовал UIView, если мне нужны указатели gestureRecognizers или другие зависящие от вида вещи. Ваше предложение, вероятно, тоже хорошо. Однако, как я сказал в ответ: начните с инструментов и посмотрите, на какое время идет время. –
Спасибо вам большое! – ColdSteel