#ios #swift #xcode #charts #ios-charts
#iOS #swift #xcode #Диаграммы #ios-диаграммы
Вопрос:
Я пытаюсь разработать приложение, которое использует гистограммы, используя iOS Charts
. Я просто настроил cocoapods
файл, импортировал Charts.framework
и скомпилировал проект, и я получил следующую ошибку:
/Users/i3t/Desktop/AppAdmin/ eCardFidAdmin/Pods/Charts/Source/Charts / Utils/ChartPlatform.swift:111:30: Метод не переопределяет ни один метод из своего суперкласса
Эта ошибка возникает в этой функции:
public final override func touchesCancelled(touches: Set<NSUITouch>, withEvent event: NSUIEvent?)
{
self.nsuiTouchesCancelled(touches, withEvent: event)
}
Я удаляю оператор переопределения и получаю эту новую ошибку:
/Users/i3t/Desktop/AppAdmin /eCardFidAdmin/ Pods/Charts/Source/ Charts / Utils/ChartPlatform.swift:111:21: Метод ‘touchesCancelled(:withEvent:)’ с помощью селектора Objective-C ‘touchesCancelled:withEvent:’ конфликтует с методом ‘touchesCancelled (:withEvent:)’из суперкласса ‘UIResponder’ с тем же селектором Objective-C.
Кто-нибудь знает, как я могу это исправить?
Комментарии:
1. Предполагая, что это Swift 3, подпись была изменена на
with event:
вместоwithEvent event:
2. Пока не работает. Странно, с другими функциями проблем нет, просто функция «touchesCancelled»
Ответ №1:
Вы неправильно классифицируете его, используя
import Charts
Ваш класс должен быть подклассом из ChartPlatform
Вы можете переопределить, только если вы создаете подклассы, иначе это не сработает
Комментарии:
1. Привет, спасибо за ваш ответ. Но я не понял. О каком классе вы говорите, когда говорите «Ваш класс»? Как я уже сказал, я ничего не меняю в своем коде, просто импортировал Chart.framework. Не могли бы вы объяснить лучше?
Ответ №2:
У меня такая же проблема, и я исправил ее, изменив параметр touches: как необязательный, как и его родительская функция. (swift 2.2)
public final override func touchesCancelled(touches: Set<NSUITouch>?, withEvent event: NSUIEvent?)
{
self.nsuiTouchesCancelled(touches, withEvent: event)
}