Estoy empezando a aprender Swift y he seguido las muy buenas conferencias en video de la Universidad de Stanford en YouTube. Aquí hay un enlace si está interesado o ayuda (aunque no es necesario que comprenda mi problema):
Desarrollo de aplicaciones iOS 8 con Swift - 2. Más Xcode y Swift, MVC
Mientras seguía las conferencias llegué a un punto en el que (por lo que podía ver) mi código era idéntico al código del video, pero en mi sistema recibí un error del compilador. Después de muchas pruebas y errores, he logrado reducir mi código a dos ejemplos, uno de los cuales genera un error, el otro o el que no, pero no tengo idea de qué está causando el error o cómo resolverlo.
El código que crea el error es:
import UIKit
class BugViewController: UIViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Esto crea el siguiente error del compilador:
Método 'perform' con el selector Objective-C 'perform:' entra en conflicto con la declaración anterior con el mismo selector Objective-C
Simplemente eliminando la subclasificación de UIViewController, el código compila:
import UIKit
class BugViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Otra información que puede o no ser relevante:
- Recientemente he actualizado a Yosemite.
- Cuando instalé Xcode, terminé con una versión Beta (Versión 6.3 (6D543q)) porque (si no recuerdo mal) esta era la versión que necesitaba ejecutar en mi versión de OS X.
Estoy medio esperando que esto sea un error en el compilador porque de lo contrario esto no tiene ningún sentido para mí. Cualquier ayuda muy agradecida recibida!