Я начинаю изучать Swift и слежу за очень хорошими лекциями Стэнфордского университета на YouTube. Вот ссылка, если вы заинтересованы или это помогает (хотя это не требуется, чтобы понять мою проблему):
Разработка приложений для iOS 8 с помощью Swift - 2. Больше Xcode и Swift, MVC
Следуя лекциям, я дошел до того, что (насколько я мог судить) мой код был идентичен коду в видео, но в моей системе я получил ошибку компилятора. После многих проб и ошибок мне удалось сократить мой код до двух примеров, один из которых генерирует ошибку, другой - нет, но я понятия не имею, что на самом деле является причиной ошибки или как ее устранить.
Код, который создает ошибку:
import UIKit
class BugViewController: UIViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Это создает следующую ошибку компилятора:
Метод 'execute' с селектором Objective-C 'execute:' конфликтует с предыдущим объявлением с тем же селектором Objective-C
Просто удаляя подкласс UIViewController, код компилируется:
import UIKit
class BugViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Некоторая другая информация, которая может иметь или не иметь отношение к делу:
- Я недавно перешел на Йосемити.
- Когда я установил Xcode, у меня появилась бета-версия (версия 6.3 (6D543q)), потому что (если я правильно помню) это была версия, которая мне была нужна для запуска в моей версии OS X.
Я наполовину надеюсь, что это ошибка в компиляторе, потому что иначе это не имеет никакого смысла для меня. Любая помощь с благодарностью получена!