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 언어라면 누구나(?) 다들 가지고 있는 기능(?)이 추가되었다. 그런데 기존 다른 언어들과는 조금 다른 모습이긴 하다

2015년 5월 8일 금요일

[Xcode] 플랫폼 구분 전처리기(Preprocessor)

플랫폼(Platform), 즉 현재 프로젝트의 타겟 OS가 OSX 이냐 아니면 iOS냐를 구분하는 전처리기를 정리한다. 기존의 Swift 글에서도 정리했던 적이 있지만 Objective-C 코드에서도 종종 사용되기에 별도로 정리한다.

2015년 3월 3일 화요일

[OSX] XIB를 이용한 NSView 서브클래싱 (+영상)

얼핏 생각해서는 UIView 서브클래싱 하는 것과 비슷하리라 생각했는데 API의 사용법이나 결과가 조금씩 달랐다. 그래서 XIB를 이용해 인터페이스 디자인을 할 수 있는 NSView 서브클래싱을 정리해 본다.

[iOS] XIB를 이용한 UIView 서브클래싱 (+영상)

UIView 기반의 클래스를 만들 때 XIB를 이용해 뷰 디자인을 하는 방법에 대해 정리한다. 기초적인 내용이긴 하지만 그래서 워낙 자주 까먹는 내용이다. -_-;

2015년 2월 25일 수요일

Swift 1.2 - Set 타입

Swift 1.2 에서 'Set' 이라는 새로 추가된 컬렉션 타입이 있다. Set 타입은 중복되지 않는 값들을 보관하기 위한 순서가 없는 배열과 비슷하다. 혹은 수학에서 흔히 말하는 '집합'과도 비슷하다.이 Set 타입에 관해서 간단히 정리해 보려고 한다.