Создать настраиваемое действие в классе для использования в Интерфейсном Разработчике - PullRequest
0 голосов
/ 21 декабря 2018

Я хочу создать соединение с настраиваемым действием в классе, которое должно быть видно в Интерфейсном Разработчике.Например - я добавляю свойства action / target к классу NSView так:

weak open var object: AnyObject?    
open var something: Selector?

Действие something, а цель object.Теперь я хочу, чтобы в Интерфейсном Разработчике была доступна ссылка / соединение «Отправить действие» для something и возможность подключения к методу @IBAction для некоторого класса (например, контроллера представления), как это можетбыть сделано для простого NSButton.Может быть, это невозможно, или, возможно, мне нужно добавить несколько ключевых слов перед парой настраиваемое действие / цель, так же, как нам нужно создать свойство @IBInspectable для отображения в Инспекторе атрибутов.

Любая помощьдобро пожаловать; -)

1 Ответ

0 голосов
/ 21 декабря 2018

Я не думаю, что вы можете сделать это.Вы можете добавить @IBInspectable свойства к пользовательским NSView подклассам, но для свойств не существует типа данных селектора или действия.Единственными допустимыми типами являются Boolean, Number, String, Localized String, Point, Size, Rect, Range, Color, Image, Nil.

Интерфейсный конструктор имеет встроенную поддержку для обработки свойств элементов управления целевым действием.

(Кстати, вам, вероятно, следует добавить тег Mac OS в свой вопрос. Большая часть трафика Apple на этой платеСвязанные с iOS.

РЕДАКТИРОВАТЬ:

Как кто-то сказал в комментарии, если вы создаете объект, который имеет цель / действие, это, вероятно, должно быть NSControl, а неNSView. Элементы управления - это семейство объектов, которые обрабатывают целевые действия, и в Интерфейсном Разработчике есть механизм добавления цели / действий к элементам управления.

...