Ошибка инициализации CGRect в swift3

#ios #swift3 #mkannotationview

#iOS #swift3 #mkannotationview

Вопрос:

Следующий код возвращает пару ошибок компилятора после преобразования в swift3:

 override init(frame: CGRect) { //Initializer does not override a designated initializer from its superclass
    super.init(frame: frame) //Must call a designated initializer of the superclass 'MKAnnotationView'
}
  

Как мне это исправить?

Комментарии:

1. В вашем коде отсутствует контекст. Что именно вы инициализируете?

2. Пожалуйста, опубликуйте полный код. Опубликуйте весь класс / структуру / расширение, где у вас есть эта функция.

3. Посмотрите в документации, что такое назначенный инициализатор целевого класса.

4. @TheAppMentor Я использую фреймворк FBAnnotationCluster cocoa. В этой структуре я получаю эту проблему.

Ответ №1:

Я предполагаю (из комментария в вашем коде), что вы пытаетесь создать подкласс MKAnnotationView. Если это правда, попробуйте это.

 class myAnnot : MKAnnotationView{

    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

}
  

Комментарии:

1. Да, вы правы, но решение все еще не работает.