2015-07-05 4 views
1

Я пытаюсь создать свой пользовательские UIGestureRecognizer подкласс, и мне нужно, чтобы быть в состоянии установить его состояние изнутри:переопределения только для чтения свойства, чтобы сделать его прочитать написать

func fail() { 
    self.state = .Failed 
} 

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

override var state : UIGestureRecognizerState 

не может переопределить с сохраненной собственностью «состоянием»

ответ

3

Проблема заключается в том, что, когда я пытаюсь переопределить это свойство только для чтения

Do не попытаться заменить его. Вместо этого в заголовочном заголовке (который вам может понадобиться создать для этой цели), импортируйте <UIKit/UIGestureRecognizerSubclass.h>. Presto, свойство становится доступным для записи.

+0

Пример проекта здесь: https://github.com/mattneub/Programming-iOS-Book-Examples/tree/master/bk2ch05p203gestureRecognizers/ch18p541gestureRecognizers – matt

+1

Спасибо, помощник! Действительно полезно. Я бы просто добавил, что после настройки заголовка моста с этим импортом больше не нужно «переопределять состояние var: UIGestureRecognizerState». – Teo

+0

Хорошая точка. Я добавлю это к моему ответу, на всякий случай кто-то наткнется на это одинаково. – matt

Смежные вопросы