Подтвердить что ты не робот

Что можно сделать одновременно с построителем интерфейса?

Я никогда не использовал. Может нарисовать одновременно вариант, упомянутый в iterface builder. См. Изображение ниже:

enter image description here

Может кто-нибудь объяснить мне его использование и цель?

4b9b3361

Ответ 1

Вы можете использовать его, чтобы сообщить AppKit, что ваш метод NSView subclass '-drawRect: может быть вызван из вторичного потока.

Это 10.6+. Когда /if AppKit визуализирует представления асинхронно, -drawRect: выполняется с использованием параллельных блоков, а ваш -drawRect: будет вызван из вторичного потока. Это означает, что реализация вашего подкласса должна быть потокобезопасной (для совместимости она по умолчанию отключена).

См. также -[NSView setCanDrawConcurrently:] для получения дополнительной информации, потому что для фактического включения этого поведения требуется несколько вещей. Кроме того, это не должно означать, что AppKit является потокобезопасным или что его подклассы NSView предназначены для поддержки этой функции - он предназначен для вашего тяжелого рисования.

Ответ 2

Опция предназначена для просмотра, поддерживающего резьбовой рисунок, например NSProgressIndicator. Если флажок "Рисовать одновременно" установлен, то drawRect можно вызвать из фонового потока для этого представления. Обратитесь NSView ссылка на класс.
Ни один из представлений AppKit не поддерживает это (за исключением NSButton и NSProgressIndicator, но для них по историческим причинам есть отдельные API).