swfit

    Swift 오류처리

    Swift 오류처리

    Swift에서는 런타임 에러가 발생한 경우에 처리를 위한 일급 클래스를 제공합니다. 처리를 위해 발생, 감지, 증식, 조작을 지원합니다. Error라는 프로토콜을 준수하는 타입의 값을 통해 표현되는데, 이 프로토콜은 사실상 요구사항이 없는 빈 프로토콜 입니다. 그래도 오류를 표현하기 위한 타입 (예를들면 열거형)은 이 프로토콜을 채택합니다. 다른언어의 exception처리와 비슷하지만, 다른점은 call stack과 unwinding과 관련이 없어 비교적 많은 계산이 필요하지 않다는 점입니다. 그래서 에러를 반환하는 throw구문은 일반적인 반환 구문인 return 구문과 비슷한 성능을 보여줍니다. 표현 enum KindfError: Error{ case error1 case error2 case err..

    Swift 타입캐스팅 (형변환)

    Swift 타입캐스팅 (형변환)

    Swift의 타입캐스팅은 인스턴스의 타입을 확인거나 클래스의 인스턴스를 부모 또는 자식클래스의 타입으로 사용할 수있는지 확인하는 용도로 사용합니다. is 또는 as를 사용합니다. 그림으로 간단히 설명해보겠습니다. Person - Study - Programming 순으로 부모-자식클래스라고 생각해봅시다. Programming 클래스는 Psrson클래스의 자식 클래스인 Study의 자식클래스입니다. Person을 상속한 Study를 상속했으니, 당연히 Person의 모든 프로퍼티가 있습니다. 따라서 true입니다 반대로 Person은 Programming의 모든 프로퍼티를 갖고 있지 않아서 Person클래스는 Programming으로 사용이 불가능합니다. 반대로 Person은 Programming의 모든 ..