Удалить ошибку @IBInspectable: не удалось установить () определенное пользователем проверенное свойство в (UIView)

Я добавил свойство @IBInspectable с именем style как extension к UIView. Я переработал его, потому что он мешает UITableView.style. Я получаю эту ошибку, я точно знаю, что означает ошибка, но не могу понять, как на самом деле остановить поиск style. Это не приводит к фатальной ошибке, но очень раздражает. Кто-нибудь знает, как его удалить?

Мой рефакторинг кода @IBInspectable:

// Global variable to produce a unique address as the AssociatedObjectHandle
var AssociatedObjectHandle: UInt8 = 0

public extension UIView {

    @IBInspectable var styleName: String {
        get {
            return objc_getAssociatedObject(self, &AssociatedObjectHandle) as? String ?? ""
        }
        set {
            objc_setAssociatedObject(self, &AssociatedObjectHandle, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
        }
    }
}

Я пытался:

1: Очистить и построить

2: Удаление файлов эмулятора

3: Выход из XCode


person Matthew Mitchell    schedule 02.09.2019    source источник


Ответы (1)


Требуется для удаления свойства из определяемых пользователем атрибутов среды выполнения в инспекторе удостоверений на раскадровке. Выяснил это вскоре после публикации вопроса.

Как показано ниже:

введите здесь описание изображения

person Matthew Mitchell    schedule 02.09.2019
comment
Была аналогичная ситуация. Создал специальный подкласс UIView со свойством IBInspectable. Использовал это в IB. Затем скопировал представление в IB, потому что оно имело цвет, как я хотел, но не нуждалось в специальной функции, поэтому понизило его до UIView. Итак, теперь IB жаловался, потому что UIView не мог установить это свойство - и не понял, что свойство было там из копии. Удаление его, как сказано в этом посте, очистило отчет об ошибке. - person anorskdev; 07.03.2020