2014-12-04

NSView의 좌표계(Coordinate System) 뒤집기

NSView 클래스를 상속받아서 커스텀한 뷰를 만드는 상황을 가정하자. 이 뷰는 인터페이스 빌더가 아닌 코드로 UI를 구성한다. 그런데 코드로 생성하는 자식뷰의 Y좌표를 0으로 하니 제일 바닥에 자식뷰가 붙었다. 이건 iOS의 UIView 와 비교해서 위 아래가 반대로 뒤집한 상황이다.

[참고] 이 글은 NSView Cheatsheet 글에 요약해서 정리되어 있다.

2014-11-26

Swift/Objective-C 오브젝트 직렬화(Serialization)

직렬화(Serialization) 라는 표현은 대개 OOP언어에서 특정 클래스 오브젝트를 파일로 저장하거나 파일에서 읽어들일 때, 혹은 네트워크 등으로 전송하거나 받거나 하기 위해 특수하게 가공하는 것을 의미한다. Objective-C나 Swift에서는 이 부분에서 인코드(Encode), 디코드(Decode) 용어를 사용한다.

2014-11-20

[Xcode] Swift 프로젝트의 디버그(DEBUG) 플래그

Objective-C 프로젝트에서는 자동으로 정의되는 매크로(Preprocessor Macro)가 있어서 앱이 디버그 빌드인지 파악이 가능하다. 하지만 Swift 프로젝트에서는 자동으로 생성되지 않기 때문에 수동으로 처리해야 한다. 이번 글은 이 디버그 플래그를 생성하고 사용하는 방법에 관한 것이다.

2014-11-19

2014-11-11

[Swift/ObjC] 딜레이 이후 실행하기

특정 사유로 특정 코드를 특정 시간 이후에 실행시켜야 할 경우가 있다. 이유야 어쨌든, 이렇게 특정 시간(딜레이, Delay) 이후에 코드를 실행시키도록 하는 코드를 알아보자.

2014-11-05

Swift String의 split과 join

Swift의 String은 split이나 join 같은 기능을 제공하지 않는다. 이게 뭐 대단한 사실은 아니지만, Python에서 개인적으로 문자열의 split이나 문자열 배열 join 기능은 굉장히 유용하고 자주 사용하는 기능이었기에 Swift에도 있었으면 했다.

(왠지 이번에도 Python 중독자 이야기가 되는 것 같다 -_-)