Полный список @IB * в xcode и их варианты использования

В настоящее время я изучаю разработку iOS в swift.

В xcode я знаю, что наиболее часто используемые @IB являются @IBAction и @IBOutlet, существуют другие @IB, такие как @IBInspectable, @IBDesignable.

Но мне было интересно: есть ли другие @IB и каковы их варианты использования?

Ответы

Ответ 1

Это аттрибуты и AFAIK. В Apple нет полного списка от Apple, но есть тестовый файл IDE в swift репозитории, которые собирают в тесте все эти данные для префикса IB (вероятно, это означает Interface Builder):

@IBAction

https://developer.apple.com/documentation/appkit/constants/interface_builder_constants/ibaction

Определитель типов, используемый интерфейсом Builder для отображения метода как точка соединения между элементами пользовательского интерфейса и кодом приложения. Используемый вместо типа возврата void в объявлении метода. Примеры как использовать этот идентификатор, см. Обзор Xcode.

Другими словами - он соединяет ваш объект раскадровки, например UIButton, с действием, которое может быть выполнено на нем @IBAction func didTap(_ sender: Any)

@IBOutlet

https://developer.apple.com/documentation/appkit/constants/interface_builder_constants/iboutlet?language=objc

Определитель типов, используемый интерфейсом Builder для отображения символа как точка подключения для отправки сообщений от кода приложения пользователю элемент интерфейса. Используется непосредственно перед типом объекта в объявление свойства или экземпляра. Примеры использования этот идентификатор, см. Обзор Xcode.

Другими словами - это что-то, на что нужно ссылаться, когда вы хотите изменить (ex) текст в метке. @IBOutlet weak var label: UILabel!

@IBOutletColection (теперь это просто [] @IBOutlet!)

Всякий раз, когда группа торговых точек должна иметь сходное (или лучше - то же!) поведение и стиль, вы можете собрать все это под @IBOutletCollection. Это выглядит так: @IBOutlet var someLabels: [UILabel]!


Оба ниже помогают с живым рендерингом:

Вы можете использовать два разных атрибута: @IBDesignable и @IBInspectable - включение интерактивного пользовательского дизайна в режиме реального времени в Интерфейс Builder. Когда вы создаете собственное представление, которое наследуется от класс UIView или класс NSView

@IBDesignable

Вы можете добавить @IBDesignable атрибут перед объявлением класса. После добавления пользовательского представление в Interface Builder (путем установки пользовательского класса представления в панели инспектора), Interface Builder отображает ваше представление в холст.

@IBinspectable

Вы также можете добавить атрибут @IBInspectable к свойствам с типами, совместимыми с пользовательскими атрибутами времени выполнения. После добавления пользовательского представления в Interface Builder вы можете редактировать эти свойства в инспекторе.

Более подробную информацию вы можете найти здесь

В интерфейсе Builder он выглядит следующим образом: введите описание изображения здесь


Также есть и другие: @GKInspectable, @NSManaged, @nonobjc, @available и т.д. Вы можете узнать больше о атрибуты в swift здесь

Ответ 2

Я думаю, что нет полного и компактного списка от Apple. Но если вы заглянете в Apple iBook с помощью Swift с помощью Cocoa и Objective-C и ищите "@IB", вы найдете все атрибуты с объяснением. Вы также можете найти объяснения для других атрибутов, таких как @NSManaged или @objc.