Estou começando a aprender Swift e tenho acompanhado as muito boas palestras em vídeo da Universidade de Stanford no YouTube. Aqui está um link, se você estiver interessado ou ajudar (embora não seja necessário entender o meu problema):
Desenvolvendo aplicativos iOS 8 com Swift - 2. Mais Xcode e Swift, MVC
Enquanto seguia as palestras, cheguei a um ponto em que (até onde eu sabia) meu código era idêntico ao código do vídeo, mas no meu sistema recebi um erro do compilador. Após várias tentativas e erros, consegui reduzir meu código para dois exemplos, um dos quais gera um erro, o outro ou o que não, mas não tenho idéia do que está realmente causando o erro ou como resolvê-lo.
O código que cria o erro é:
import UIKit
class BugViewController: UIViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Isso cria o seguinte erro do compilador:
Método 'execute' com o seletor de Objective-C 'execute:' entra em conflito com a declaração anterior com o mesmo seletor de Objective-C
Simplesmente removendo a subclasse de UIViewController, o código compila:
import UIKit
class BugViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Algumas outras informações que podem ou não ser relevantes:
- Eu atualizei recentemente para Yosemite.
- Quando instalei o Xcode, acabei com uma versão beta (versão 6.3 (6D543q)) porque (se bem me lembro) era a versão que eu precisava executar na minha versão do OS X.
Eu meio que espero que isso seja um bug no compilador porque, caso contrário, isso não faz sentido para mim. Qualquer ajuda recebida com gratidão!