Swift에는 추상 메소드가 없으므로, 기본 구현이 무조건 에러를 발생시키는 메소드를 생성하고 있습니다. 이것에 의해, 서브 클래스는 abstract 메소드를 오버라이드 (override)합니다.Swift는 던져진 함수로 인해 결코 돌아 오지 않을 것입니다. 예외
class SuperClass {
func shouldBeOverridden() -> ReturnType {
let exception = NSException(
name: "Not implemented!",
reason: "A concrete subclass did not provide its own implementation of shouldBeOverridden()",
userInfo: nil
)
exception.raise()
}
}
문제를 : 내 코드는 다음과 같은 함수가 값을 반환 할 것으로 예상된다 때문에, 그리고 위의 기능이 더 return
문이없는, 컴파일이 실패합니다. 나는이 함수가 항상 오류를 발생시키기 때문에 실행을 완료 할 수 없다는 것을 컴파일러에게 확신시키기 위해 어떤 방법이 필요하다.
모든 오류 처리가 라이브러리 수준으로 보이고 따라서 컴파일러를 이해할 수 없을 때 어떻게 Swift에서이 작업을 수행 할 수 있습니까? 프로그램의 실행을 (정상적으로) 끝내기위한 언어 수준의 기능이 있습니까?
솔루션에 대한 질문에 스스로 답장을 해봤지만 잘못된/잘못된 문제를 해결하려고합니다. Swift에는 추상 메소드가 내장되어 있지 않은 이유가 있습니다. – nhgrif