콘텐츠로 건너뛰기
Home » cocoa » Page 5

cocoa

[Cocoa] 코코아의 이름 규칙

코코아 프레임워크에서 이름 짓는 규칙에 익숙해지는 것은 단순히 코드의 가독성을 높일 뿐만아니라 부분적으로 키-밸류 코딩의 규칙을 따르는 것과도 관련이 있다. 애플의 이름 짓기 규칙은 특히나 약어를 거의 사용하지 않고 단어나 문장을 통째로 쓰는 경향이 있는데 이러면 메소드나 변수의 이름이 길어질 수는 있지만 그 의미를 명확히 이해할 수 있을 뿐만아니라, Xcode의 멋진 자동완성기능이 있어 그리 많은 타이핑이 필요하지도 않다. 이름 짓기가 잘 된 소스는 나중에 본인이 재사용할 때도 매우 명확하고 쉽게 접근할 수 있으며, 그 자체로 소스에 대한 주석이 될 수도… 더 보기 »[Cocoa] 코코아의 이름 규칙

(Cocoa) 날짜와 시간을 다루기

updated

Swift를 사용해서 Date를 다루는 방법은 새로 작성된 글을 참고하세요.
 

들어가며

날짜와 시간을 위한 프로그래밍을 위해서는 기본적으로 NSDate를 사용한다. NSDate는 2001년 1월 1일 자정을 기점으로 현재시간 (혹은 특정 시점)까지의 초단위로 경과한 시간을 저장하고 있는 객체이다.(Epoch가 아니라 21세기의 시작시점을 기준으로 하고 있다!) 이렇게 단순히 누적된 초 시간으로는 두 시점의 선/후 관계를 파악하는 등의 단순 비교 작업은 가능하지만, 구체적인 날짜나 요일에 연관된 작업을 하기는 매우 어렵다. 예를 들어 올해 크리스마스가 무슨 요일인지를 구하는 일은 NSDate 객체 만으로는 사실상 매우 힘들다.
더 보기 »(Cocoa) 날짜와 시간을 다루기

[iOS/OSX] Timer 사용하기

특정한 시간 이후에 작업을 시행하는 타이머를 사용하는 방법에는 몇 가지 방법이 있을 수 있는데, 코코아에서 타이머는 NSTimer 객체를 통해 구현된다. 타이머와 런루프 타이머는 런루프(Run Loop)와 밀접한 관련을 맺고 있다. 타이머는 스스로 동작기한을 가지고 있고, 그 상태로 런루프에 등록된다. 런루프는 그 기한이 지나는 시점에 타이머를 지켜보고 있다가, 타이머가 실행하기로 한 액션을 지정된 객체로 보내게 된다. 런루프는 (역시나 런루프와 스레드를 혼동하는 불편한 진실 때문에 이에 대한 별도의 포스팅도 필요할 듯) 사용자의 입력 등에 적절히 반응하기 위해서 계속해서 “기다리는” 일종의 루프이다. 예를 들면… 더 보기 »[iOS/OSX] Timer 사용하기

20120102 :: [iOS] 저장이 가능한 간단 메모장 3 (코어데이터)

해당 포스트의 코드가 너무 부끄러운 수준으로 디자인이 잘못돼 있어서 새롭게 작성한 글이 있으니 이 글을 참고해주세요.

이미 세 개의 포스팅(관련글 1, 관련글 2, 관련글 3)을 통해 간단한 메모장 앱을 만드는 방법을 살펴보았는데, 이번에는 완전히 똑같은 앱을 코어데이터를 사용하여 생성하는 방법에 대해 살펴보도록 하겠다. 이 시리즈의 맨 처음에 코어데이터에 대해 언급하면서 초보자에게는 좀 많이 어렵다고 이야기한 바 있는데, 이는 실제로 코어데이터가 사용하기 어려운 프레임워크라는 의미라기보다는 코어데이터를 실제로 사용하기 위해서 알고 있어야 하는 배경 지식이 상당히 많다는 의미라고 보는 것이 정확할 듯 하다.더 보기 »20120102 :: [iOS] 저장이 가능한 간단 메모장 3 (코어데이터)