2016-12-27 4 views
2

Возможно ли продлить структуру Reactive, где базовый класс является моим настраиваемым элементом управления, унаследованным от UIControl?Создать ControlProperty для пользовательского UIControl

Когда я пытаюсь следующий код:

extension Reactive where Base: CustomControl { 

    public var value: ControlProperty<CGFloat> { 

     return CustomControl.rx.value(

      self.base, 

      getter: { customControl in 
       customControl.customProperty 
      }, 
      setter: { customControl, value in 
       customControl.customProperty = value 
      } 
     ) 
    } 
} 

Я получаю следующее сообщение об ошибке:

Instance member "value" cannot be used on type 'Reactive<CustomControl>' 

Я буду признателен, если вы предоставить мне какие-либо объяснения.

ответ

3

Вы можете проверить эту ссылку: https://github.com/ReactiveX/RxSwift/issues/991

Метод value не является общедоступным, так что вам нужно, чтобы создать публичную версию этого. После этого можно создать расширение для своего настраиваемого элемента управления.

+0

Это работает, большое вам спасибо! –