지금까지 Xcode 6 베타에서는 꼬박꼬박 Yosemite(10.10) SDK가 포함되어 있었는데, 정작 정식판 후보버전인 GM에는 이 SDK가 빠져있다. 그래서 스위프트(swift)언어를 이용하는 OSX용 프로젝트를 빌드하려하면 SDK가 없다거나 혹은 Deploy 버전이 맞지 않는다는 오류가 발생한다.
이제 Xcode 6가 GM이 되면서 더 이상 베타가 아니게 되었다. GM 버전은 최종 릴리즈 후보로써 큰 문제가 없다면 바로 정식릴리즈가 되는 버전이다. 그런데 6 GM 버전에는 Swift로 맥(Cocoa) 앱을 개발 할 수 없다는 문제가 있다. 그래서 6.1 베타를 찾아보게 되었다.
스위프트(Swift)의 옵셔널(Optional)은 '값이 없음(No Value)' 이라는 것을 심어주기 위한 기능이다. 단순하게 사용하려 한다면 그저 nil 초기화 여부를 조사하기 위한 용도로써 쓸 수 있겠지만, 액세스라던가 옵셔널 체인(Optional Chain) 등등을 아무런 지식 없이 쓰다보면 컴파일 에러나 런타임 에러를 종종 보게 될 것 같다. 그래서 약간의 시험과 더불어 개념을 조금 더 파고 들어가 보고자 한다.
애플의 공식 스위프트 가이드(?)에 언급된 세 가지 프로토콜로 Equatable, Comparable, Printable이 있다. '-able' 이라는 이름이 붙은 걸로 보면 특정 동작이 가능하도록 유도하는 프로토콜로 추측이 가능하다. 이 프로토콜들에 대해 간략히 정리해본다.
애플의 공식 스위프트(Swift) 블로그에서 재미있는 내용이 올라와서 이를 설명해보는 글을 작성해본다. 참고로 글 내용은 값과 레퍼런스의 차이에 대한 것인데, 이 덕분에 클래스(class)와 구조체(struct)의 차이점을 한 가지 더 알 수 있게 되었다. 이 글에서는 이 중 값과 레퍼런스에 대한 부분만 정리한다.
앞서 Swift 프로젝트에서 유닛 테스트 하기에 관한 글을 썼었는데 이번 글은 Xcode 6 에서 제공하는 유닛 테스트(Unit Test)의 기본 가이드이다. 코드는 스위프트를 기준으로 하겠지만 Objective-C 에서도 구조가 동일하기 때문에 이해하기에 어려울 것은 없을 것이다.