2015-04-29 1 views
2

Я создал пользовательский segue, и он продолжает давать ту же ошибку. Это произошло даже тогда, когда я создал настоящий простой UIStoryboardSegue Class.prepareForSegue не будет работать с пользовательским segue (swift)

Перекрытие метод с селектором 'prepareForSegue: отправитель:' имеет несовместимый тип '(CustomOpenSegue, AnyObject?) ->()'

Это, как я звоню его

override func prepareForSegue(segue: CustomOpenSegue, sender: AnyObject?) { 

    segue.iconFrame = sender!.view!.frame 

} 

Мой заказ переход будет работать без prepareForSegue (на более простом режиме), но мне нужно передать iconFrame значение для того, чтобы работать в качестве предназначена.

Любые предложения?

ответ

3

Изменения в

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue is CustomOpenSegue { 
     let customOpenSegue = segue as! CustomOpenSegue 
     customOpenSegue.iconFrame = sender!.view!.frame 
    } 
} 

Если переопределить метод, вы не можете изменить типы параметров.

+0

Это не сработает, потому что UIStoryboardSegue не имеет члена с именем iconFrame, который существует в моем пользовательском классе segue. Любое предложение? – Tialtous

+1

Вы правы, я забыл добавить проверку типа и бросок. – Glorfindel

+0

Высоко ценится! большое спасибо – Tialtous

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