2015년 6월 30일 화요일

Swift 2.0 - CFunctionPointer 대신 클로저 사용하기

Swift 2.0 에서 개선된 사항 중 CFunctionPointer를 클로져로 대체 할 수 있다는 것이 있다. 이건 정말 큰 개선 사항이다. 왜냐하면 난 아직도 이 CFunctionPointer 타입을 다룰 줄 모르기 때문이다. -_-;;

Swift 와 C 포인터(Pointer)

Swift 는 문법으로도 다양한 기능을 제공하는 고급 언어이다. 하지만 고급 언어이기 때문(?)에 최적화된 C 라이브러리를 종종 사용해야 할지도 모르고 그럴 때는 C의 포인터를 함께 사용해야 할 가능성도 있다. 그래서 Swift의 포인터 처리에 대해 간단히 정리하려 한다.

참고로 이 글은 Swift 3 가 등장하기 이전에 쓰여졌다. Swift 3 에서의 포인터는 [Swift 속의 C Pointer 이야기 - 시작] 글을 참고하자.

2015년 6월 23일 화요일

Swift 2.0 - defer 문

아마도 Swift 2.0 들어서 문법적으로 가장 강력한 기능이 아닐까 생각하는 것이 바로 이 defer 문이다. 아 물론 개인적인 생각일 뿐이다... '-';;

2015년 6월 17일 수요일

Swift 2.0 - guard 문

Swift 2.0 에서 컨트롤 제어(Control Flow) 쪽으로 추가된 구문 중 guard 라는게 있다. if 문 같은 것과 비교하면 특별할 건 없지만 코드 읽기 차원에서 유용한 경우를 제공하기 때문에 소개해본다.

2015년 6월 11일 목요일

Swift 2.0 + Xcode 7 에서 Internal Class의 유닛테스트

Xcode 6 하에서 Swift 코드로 만들어진 프로젝트의 유닛테스트를 하려면 해당 모듈을 public으로 선언해야만 가능했다. (관련글: Swift 프로젝트의 유닛테스트(Unit Test)) 이는 Swift의 엑세스 컨트롤의 구현 의도와 Xcode에서 테스트 코드가 구성되는 방식의 의도가 다르다는 차이 때문에 발생하는 문제였다.

2015년 6월 10일 수요일

Swift 2.0 - 예외처리(Error Handling Model)

Swift 2.0 에서 드디어 예외처리 - 공식 블로그에는 Error Handling Model 이라고 표현하고 있다 - 이라는 OOP 언어라면 누구나(?) 다들 가지고 있는 기능(?)이 추가되었다. 그런데 기존 다른 언어들과는 조금 다른 모습이긴 하다