레이블이 Cocoa인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Cocoa인 게시물을 표시합니다. 모든 게시물 표시

2014년 3월 5일 수요일

[iOS/OSX] CoreData #3 NSFetchedResultsController

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

2014년 3월 4일 화요일

[iOS/OSX] CoreData #2 삭제, 검색​ 그리고 정렬​

CoreData 이야기 2편. 이번엔 삭제와 검색 및 정렬에 대한 이야기이다.

[iOS/OSX] CoreData #1 기본

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

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

2014년 2월 28일 금요일

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

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

2014년 2월 27일 목요일

[iOS] 캘린더 일정 이벤트 등록하기 EventKit 예제

앱에서 캘린더(Calender)나 미리알림(Reminder) 등에 이벤트를 등록 할 때는 EventKit 프레임워크를 이용 할 수 있다. 이 포스트는 캘린더용 일정을 앱에서 등록하는 방법에 대한 예제이다.

2014년 2월 26일 수요일

[iOS/OSX] NSDate로 상대 시간 구하기

NSDate 로 상대적인 시간 (예를 들어 D-day 처럼 지금부터 얼마의 시간이 남았나 등)을 계산해내려면 NSDate 클래스 만으론 불가능하고 NSCalendar를 이용해 계산해야 한다.

[iOS] 문자메세지(SMS) 보내기 MFMessageComposeViewController 예제

아이폰용 앱에서 텍스트메시지(SMS)를 코드레벨에서 그냥(!) 보내기란 사실 불가능하다. 안드로이드 퍼미션만 확보하면 앱에서 마음대로 보내는 것이 iOS에서는 불가능하다는 이야기다. (물론 이 불편함 덕분에 아이폰은 보안이라는 다른 이득을 취했다)

그나마 다행인 점은 iOS에서 이런 SMS를 보내기 위한 수동적인 장치는 제공한다는 점이다. MFMessageComposeViewController 가 바로 이런 역활을 하는 프레임웍이다.

[iOS] 라벨에 링크 넣기 TTTAttributedLabel 예제

Cocoa Touch 프레임워크에서 제공되는 UILabel 은 UI에 글자를 표시하기 위한 가장 기본적인 컴포넌트이다. 하지만 텍스트를 표시하기 위한 기능이 풍부하다고는 할 수 없다. 예를 들어 세로 정렬(Vertical Align) 이라던가 문자열에 링크를 넣어 이 링크가 터치되었을 때의 반응을 처리한다던가 등의 기능이 제공되지 않는다.

이번 포스팅은 3rd-Party 확장 클래스인 TTTAttributedLabel에 대한 소개 및 간단한 예제에 관한 것이다. 이 확장은 아래 github 저장소에서 구할 수 있다.

2014년 2월 25일 화요일

[iOS] NSJSONSerialization 예제

옛날 옛적(?)에 iOS용 앱을 만들 때 JSON을 파싱하거나 인코딩 하려면 SBJson 이나 JSONKit 같은 외부 코드가 필요했다. 하지만 (제법 오래 전에) Cocoa 프레임워크에서 자체적으로 JSON에 관련된 프레임웍을 제공하기 시작했다. 그 이름하여 NSJSONSerialization 클래스이다.

[iOS] UIFont 예제

UIFont는 이름 그대로 폰트를 정의하는 클래스다. 수 많은 글자를 표시하는 UI 클래스에서 폰트를 명시하기 위해 사용하는 중요한 클래스이다.

2013년 9월 27일 금요일

[Cocoa] 코코아 바인딩 사용 시 데이터가 UI에 표시되지 않는 경우

OS X 용 앱의 UI를 개발 할 때 유용한 기능이 바로 코코아바인딩이다. 이 기능은 코드 레벨의 오브젝트(변수)와 UI 사이를 이어주어서 별 다른 코드 없이도 데이터를 UI에 렌더링 할 수 있게 해 준다.

그런데 바인딩을 제대로 했음에도 데이터가 표시되지 않거나 등의 문제를 겪을 수도 있다.

2013년 6월 7일 금요일

[Cocoa] NSString의 경로(path)와 관련된 기능들

NSString 은 문자열 클래스임에도 불구하고 순수 문자열의 기능을 넘어서는 다양한 기능을 제공한다. 이 중 파일이나 폴더의 경로(path)와 관련된 기능들을 소개해본다.

[Cocoa] 파일이나 폴더를 휴지통으로 이동

보통 파인더에서는 파일을 삭제하는 대신 '휴지통으로 이동' 이라는 방법을 제공한다. 휴지통에 버려 뒀다가 실수로 삭제한 파일을 다시 복원시키기 위함이다.

2012년 9월 22일 토요일

[Cocoa] 창이 다 닫기면 앱 종료하기

처음으로 써 보는 코코아 관련 메모. 기본적으로 코코아 앱은 멀티 윈도우를 지원하는 경우 창을 다 닫아도 앱 자체가 종료되지 않는다. 만약 윈도우(MS-Windows) 처럼 창이 다 닫기면 애플리케이션이 종료되길 원한다면 AppDelegate에 다음 코드를 넣는다.