Swift를 배우기 시작했고 YouTube에서 훌륭한 Stanford University 비디오 강의를 따르고 있습니다. 관심이 있거나 도움이되는 링크는 다음과 같습니다 (내 문제를 이해할 필요는 없지만).
Swift로 iOS 8 앱 개발-2. 더 많은 Xcode 및 Swift, MVC
강의를 따르는 동안 내 코드가 비디오의 코드와 동일하지만 시스템에서 컴파일러 오류가 발생하는 지점에 도달했습니다. 많은 시행 착오 끝에 코드를 두 가지 예로 축소했습니다. 하나는 오류를 생성하거나 다른 하나는 오류를 발생시키지 않지만 실제로 오류의 원인 또는 오류를 해결하는 방법을 모릅니다.
오류를 생성하는 코드는 다음과 같습니다.
import UIKit
class BugViewController: UIViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
다음과 같은 컴파일러 오류가 발생합니다.
Objective-C 선택기와 함께 'perform'메소드 'perform :'은 동일한 Objective-C 선택기로 이전 선언과 충돌합니다.
UIViewController의 하위 클래스를 제거하면 코드가 다음과 같이 컴파일됩니다.
import UIKit
class BugViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
관련이 있거나 관련이없는 기타 정보 :
- 최근에 요세미티로 업그레이드했습니다.
- Xcode를 설치할 때 베타 버전 (버전 6.3 (6D543q))으로 끝났습니다 (정확하게 기억한다면) 이것이 OS X 버전에서 실행하는 데 필요한 버전이기 때문입니다.
그렇지 않으면 이것이 나에게 의미가 없기 때문에 컴파일러의 버그라고 생각합니다. 어떤 도움도 대단히 감사합니다!