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