2014-12-15

NSView 배경색과 모서리에 관한 트릭(?)

UIView와 NSView는 다르다는 것을 또다시 체험해 보는 시간(-_-). 편의상 이젠 Objective-C 코드 예제는 생략하고 Swift 코드 예제만 남긴다. 어차피 메소드나 프로퍼티 명은 거의 동일하니...

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

2014-12-12

코드로 만드는 NSButton

NSButton을 사용 할 때, 특히 코드로 버튼을 붙이거나 이벤트 핸들링을 할 때 필요한 기초적인 내용을 메모. 편의상 Objective-C 코드는 생략하고 Swift 코드 예제만 남긴다.

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 중독자 이야기가 되는 것 같다 -_-)

2014-11-03

Swift의 String을 Python스럽게 만들어보기

Objective-C의 카테고리 기능은 기존 클래스를 확장하는 용도로 많이 사용된다. Swift에서는 비슷한 기능을 Extension 이라는 기능으로 제공하는데, 이를 잘 활용하면 기본 클래스의 기능을 더욱 확장할 수 있어서 좀 더 편한 코딩이 가능하다.

2014-10-31

NSDate를 Swift스럽게 다뤄보기

기존 Objective-C에 비해 Swift가 가지는 장점 중 하나는 오퍼레이터 오버로딩(Operator Overloading) 이라고 생각한다. 이걸 잘 쓰면 코드가 짧아지면서 가독성이 좋아질 수도 있기 때문이다. (물론 반대로 가독성이 나빠질 수도 있지만...)

2014-10-27

맥미니를 요세미티로 업그레이드 하는 도중 문제가 생겼었다

간만에 쓰는 글이 쓸 모 없는 요상한 글이라 찝찝(?)하긴 하지만, 반휴면상태로 보이는 블로그가 살아있다는 표식으로 글을 남겨본다. T^ T. 이 글은 팁이나 가이드가 아니라 일기이다.

현재 사용 중인 맥은 맥북프로 2009LATE, 아이맥 2014, 맥미니 2012LATE 3대이다. 이 머신들은 모두 매버릭스 최신 버전으로 구동 중이었고 요세미티 출시 당일 맥북프로와 아이맥은 아무일 없이 무사히 요세미티로 업그레이드가 되었다.

다만, 마지막으로 남은 맥미니의 OS X를 요세미티로 업그레이드 하는 도중 문제가 발생했다.