2012년 7월 26일 목요일

Objective-C 2.0에서 property / synthesize

Objective-C의 OOP에서 특별한 문법이 있다면 바로 property와 synthesize라고 생각한다. 멤버변수(인스턴스)로의 접근 권한을 설정하고 이 멤버에 값을 세팅하는 규칙을 표준적인 방법으로 정의해 둠으로써 클래스의 사용 방법을 인터페이스(interface, 헤더의 역활?)화 해 준다.

2012년 7월 17일 화요일

NSException 디버깅

XCode에서 디버깅 모드로 테스트 중인 앱이 뭔가의 오류로 죽었다. 그런데 죽은 곳을 알 수가 없을 때가 있다. 디버거의 트레이스는 main을 가리키고 있는 경우가 많다. 이 경우 로그창의 메시지를 이용해 간접적으로 원인을 알 수도 있지만 실제 원인은 알 수 없는 경우도 많다.

MKMapView를 사용하는 앱이 자주 죽는 경우...

맵뷰(MKMapView)를 사용한 앱이 자꾸 죽는 문제가 있었다. 에러의 원인은 sent message to deallocated object, 즉 메모리 상에서 해제되어 버린 오브젝트의 무언가를 호출하려 했기 때문에 죽는다는 것이었다.

2012년 7월 12일 목요일

[Emacs] 커서 위치의 단어 검색

Emacs에서 순차검색(isearch. 단축키는 C-s) 시 현재 커서 위치에 있는 단어(Word)를 검색하려면 검색어 입력 시 C-w를 입력하면 자동으로 검색어로 입력된다.

2012년 7월 3일 화요일

Emacs 24에 내장된 Package System

ELPA라는 Emacs용 Lisp 패키지 관리 시스템이 있다. 개인적으로 별로 쓸 만한 확장이 없고 대부분 EmacsWiki에 있는 것을 auto-install 로 설치해서 쓰는 편이어서 그다지 쓸 일이 없었다.