2014-05-09

[iOS/OSX] NSNotification, NSNotificationCenter 기초 가이드

말이 약간 어렵지만 '앱 내부에 시그널 패스가 연결되지 않은 곳에 메시지를 어떻게 던질 것인가' 라는 의문이 나온다면 NSNotificationCenter 를 쓰는 것이 답이다. 좀 더 단순히 이야기 하자면, 앱 내에서 아무 데서나 메시지를 던지면 앱 내의 아무데서나 이 메시지를 받을 수 있게 해 주는 것이 NSNotificationCenter 의 역활이다. 그리고 이 메시지 내용을 감싸는 껍데기가 NSNotification 오브젝트이다.

2014-04-30

[Git] 다른 브랜치의 일부 파일 복사(패치) 하기

Git로 다수의 브랜치를 관리하며 브랜치간 머지(merge) 하기는 굉장히 간단한 일이다. 하지만 의외로 다른 브랜치의 일부 파일만 복사(즉 파일간 머지)해 오는 형태의 작업은 많이 하지 않나보다. 찾아보니 의외로 기존 명령어에 옵션을 하나 추가해서 간단히 할 수 있었다.

2014-04-26

[Objective-C] 블럭 문법 (Blocks Programming)

최근 iOS나 OS X SDK Framework 를 보고 있다면 블럭에 기반한 메소드들이 점점 늘어나는 것 같다. 상황에 따라서 들여쓰기 레벨이 높아지거나 좀 불안한(?) 코드 모양이 나오는 듯 코드 리딩에 안좋은 모양새를 나타낼 때도 있지만, 그래도 여러 면에서 유용한 기능(?)이니 이 참에 메모를 남겨본다.

2014-04-24

[iOS] CoreLocation Framework를 이용한 현재 위치 찾기

iOS에서는 Mapkit을 이용하면 간단하게 현재 위치를 지동 상에 표시하는 것이 가능하다. 하지만 이건 MKMapView 를 사용 할 때의 이야기이다. 맵뷰를 사용하지 않고 현재 위치를 찾으려면 CoreLocation Framework를 이용해야 한다.

2014-03-13

2014-03-06

[iOS/OSX] CoreData #4 NSFetchedResultsController Filtering

NSFetchedResultsController 는 분명 유용하다. 하지만 몇 가지 문제가 있다. 대표적으로 동일한 Entity(Table)에 대해 여러 NSFetchedResultsController 를 만들면 문제가 발생 할 수도 있다. 두 가지 컨트롤러를 만들어 하나는 순차적으로, 하나는 특정 검색 결과만을 컨트롤 할 수 있다면 좋았을 것이다. 하지만 직접 해 보니 데이터를 제대로 읽지 못하는 등 여러가지 문제가 있었다.

만약 NSFetchedResultsController 를 이용하는 테이블에서 특정 내용 만을 검색해야 할 때는 어떻게 해야 할까?

2014-03-05

[iOS/OSX] CoreData #3 NSFetchedResultsController

CoreData 에서는 NSFetchedResultsController 라는 컨트롤러가 제공된다. UI 툴킷에서만 붙던 컨트롤러라는 이름이 약간 어색하긴 한데 상당히 편리하게 써 먹을 수 있는 기능이 제공된다.

2014-03-04

[iOS/OSX] CoreData #1 기본

CoreData를 명확하게 설명할 말은 찾기 힘든 것 같다. 쉽게 보면 '로컬 데이터베이스를 쉽게 쓰게 해 주는 도구' 로 설명 할 수도 있고 약간 넓게 'ORM 프레임워크'로 설명 할 수도 있다. 물론 이 모두 CoreData를 완벽하게 설명해 주는 말은 아니다.

어쨌든, CoreData를 사용하면 앱에서 사용하는 로컬 데이터베이스(sqlite3 기반)를 SQL 없이 다룰 수 있다. 참고로 좀 귀찮은 부분이 많다.

2014-02-28

[iOS] 그림을 그려서 UIImage로 Export 시키기

이번 포스트는 Core Graphics 의 드로잉 함수를 이용해 그림을 그려서 UIImage 객체화 시키는 것에 관한 내용이다. 드로잉 함수들이야 워낙 많아서 일일이 적기엔 블로그라는 시스템이 맞지 않을 정도고 여기선 그냥 맛보기 함수만 몇 가지 나열한다.