스위프트 13

Swift - Error Handling (예외 처리)

이번 포스트에서는 Swift에서 예외를 정의하고 발생하는 방법에 대해 알아보도록 하겠습니다. Swift에서는 예외(Exception)를 Error라고 표현합니다. Swift에서 에러는 Error Protocol을 따르는 타입의 값으로 표현할 수 있습니다. Enum을 사용하여 예외를 정의할 수 있습니다. enum AppError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) case outOfStock } 예외를 발생시킬 때는 아래처럼 사용할 수 있습니다. throw AppError.insufficientFunds(coinsNeeded: 4) 예외/에러 핸들링 (Exception/Error Handling) Swift에서는 ..

클라이언트 2019.11.29

Struct vs. Class에 대한 정리

이번 포스트에서는 Struct와 Class에 대하여 정리해보도록 하겠습니다. 아무 생각 없이 쓰다가 문득 이런 생각이 들 수도 있는데요 둘이 비슷한 것 같은데 왜 굳이 만들어 놓았을까? 과연 정말 비슷하면 만들어 놓았을까요? Swift에서는 Value-Type(값 타입), Reference-Type(참조 타입)을 제공하고 있습니다. JAVA에서도 이런 비슷한 이야기를 들은 적이 있을텐데 Call-By-Value, Call-By-Reference 가 그것입니다. 단순히 구조적인 차이부터 시작해서 실제 프로그램이 구동할 때 어떤 차이가 보이는지 알아보도록 하겠습니다. 차이점 1. 구조체는 Value-Type, 클래스는 Reference-Type struct Structure { var structValue ..

클라이언트 2019.11.27

[라이브러리] Elliotable - 시간표 라이브러리 개발

https://github.com/della-padula/Elliotable della-padula/Elliotable Contribute to della-padula/Elliotable development by creating an account on GitHub. github.com GitHub Star 하나씩 부탁드립니다 :) iOS 개발 시 사용할 수 있는 라이브러리를 개발하였다. 해외 대학교도 비슷하겠지만 강의 정보를 리스트(배열)로 전달해주면 해당 아이템들이 시간표에 추가되어 보여주는 라이브러리다. 선 색, 선 두께, 배경, 각 강의별 폰트 크기, 폰트 굵기, 요일 개수, 요일 구성 등 다양한 커스텀 옵션들을 제공해준다. 언어는 Swift 5.1 버전을 사용하였으며 iOS 11.0이상 버전의..

클라이언트 2019.11.04