본문 바로가기

Swift 공식 가이드68

A Swift Tour Apple 제공 Swift 프로그래밍 가이드(4.2)의 A Swift Tour 부분을 공부하며 정리한 글입니다. 개인적인 생각, 이해를 돕기 위한 예제도 조금 들어가있습니다. 들어가며새로운 언어를 시작할 때 우리는 전통적으로 "Hello, world!"를 출력해봅니다. Swift에서 이것은 다음 한 줄로 해볼 수 있습니다.print("Hello, world!") 만약 당신이 C 혹은 Objective-C를 사용해보았다면 Swift의 문법은 당신에게 친숙하게 느껴질 것입니다. input/output 혹은 string handling을 위한 별도의 라이브러리를 import 할 필요없이 위의 한 줄로 끝납니다. global scope에 작성된 코드는 프로그램의 entry point로 사용됩니다. main() .. 2017. 10. 17.
Version Compatibility Apple 제공 Swift 프로그래밍 가이드(4.2)의 Version Compatibility 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. Version CompatibilityXcode 10.0의 디폴트 Swift 버전은 4.2입니다. Swift 4 혹은 Swift 3으로 작성된 코드를 빌드하려면 Xcode 10.0이 필요합니다. Swift 4.2 컴파일러는 Swift 3.4 이상의 코드에서 호환됩니다. 따라서 여러 버전의 Swift 컴파일러와 호환되는 코드를 작성하기 위해서는 #if swift(>=3.4) 같은 식의 conditional compilation block을 사용해야 합니다. Xcode 9.2로 Swift 3 코드를 빌드할 때도 Swift 4에 도입된 새로운 기.. 2017. 10. 4.
About Swift Apple 제공 Swift 프로그래밍 가이드(4.2)의 About Swift 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. About SwiftSwift는 소프트웨어를 만드는 환상적인 방법을 제공합니다. 폰, 데스크탑, 서버 등 코드를 돌릴 수 있는 모든 환경을 위해 Swift는 존재합니다. Swift는 안전하고, 빠르며, 상호작용적인 프로그래밍 언어입니다. 폭넓은 Apple 엔지니어링 문화와 오픈 소스 커뮤니티의 다양한 의견들에서 지혜를 빌린 최고의 모던 언어적 사고가 Swift에 녹아들어 있습니다. 컴파일러는 성능 면에서, 언어는 개발 면에서, 절충없이 최적화되었습니다.Swift는 프로그래밍 입문자에게 편하게 느껴질 것입니다. Swift는 산업적 품질 언어로서 손색이 없는 스.. 2017. 10. 4.
Advanced Operators Apple 제공 Swift 프로그래밍 가이드(3.1)의 Advanced Operators 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. 들어가며Swift는 복잡한 연산을 위한 몇 가지 고급 연산자들을 제공한다. 예를들면 bitwise 와 bit shifting 연산자들이다.C의 산술 연산자와 다르게 Swift의 산술 연산자는 오버플로우가 되지 않는다. 오버플로우가 될 만한 상황이면 에러를 뱉어낸다. 산술 연산에서의 오버플로우를 굳이 사용하고 싶다면 Swift의 산술 연산자 second set을 사용하도록 하자. 기본 산술 연산자 앞에 & 기호를 붙이는 방식인데, 예를들어 덧셈에서의 오버플로우를 허용하고 싶다면 &+ 연산자 (overflow addition operator 라고 부.. 2017. 6. 5.
Access Control Apple 제공 Swift 프로그래밍 가이드(3.1)의 Access Control 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. 들어가며Access control 을 이용하면 다른 소스파일/모듈에 있는 코드에서 자신의 코드에 접근하는 범위를 제한할 수 있다. 자신의 코드 구현부를 숨기거나, 외부에서 사용할 인터페이스를 확실하게 지정하고 싶을 때 유용하다.Access level 을 클래스, 구조체, ENUM 등의 타입에 각각 구체적으로 지정할 수 있으며, 타입 안에 속한 프로퍼티, 메서드, 이니셜라이저, 서브스크립트에까지도 지정할 수 있다. 프로토콜은 특정 컨텍스트(전역 상수, 변수, 함수 등)로 제한될 수 있다.Default access level이 제공된다. 따라서 만약 단일 .. 2017. 4. 1.
Generics Apple 제공 Swift 프로그래밍 가이드(3.0.1)의 Generics 부분을 공부하며 정리한 글입니다. 개인적인 생각도 조금 들어가있습니다. 들어가며제네릭을 이용하면 특정 타입에 종속되지 않는 / 유연하고 / 재사용성 높고 / 명확한 의도를 가진 함수를 작성할 수 있다.제네릭은 Swift의 powerful feature대부분의 Swift 기본 라이브러리는 제네릭 코드를 내장한다사실 Array와 Dictionary 타입도 제네릭 콜렉션Array에는 Int도, String도, 커스텀 타입도, 그리고 이것들을 전부 포함할 수 있는 Any 타입도 넣을 수 있다. 넣을 수 있는 타입에는 제한이 없다. Array가 제네릭 콜렉션이기 때문에 이런 게 가능한 것이다. 제네릭으로 해결할 수 있는 문제The Prob.. 2017. 3. 29.