objective-c 3

iOS, Object-C를 이용한 아이폰/아이패드 개발에서 Delegate에 대한 이해-2. 이벤트

이벤트에 대해 알아보자. 이벤트는 이해하기 어렵지 않으니 Delegate에 대한 첫번째 발걸음으로 적합하다. 이벤트는 객체지향 프로그래밍의 가장 기본적인 설계 기법 중 하나라 할 수 있다. 객체지향 프로그래밍의 특징이 여러가지 있지만 그 중 하나가 “재사용성”이다. 재사용성과 이벤트가 무슨 관계가 있을까. 아래 마이클잭슨의 사례로 한번 생각해 보자. 마이클 잭슨 한국에 오다. 100여명의 스탭과 함께. 이제는 고인이 된 마이클 잭슨이 한국에 온 적이 있다. 그가 온다는 것만으로도 울트라 빅빅빅 이슈였지만, 함께 이슈가 되었던 건 100여명의 스탭과 함께 오기 때문에 모셔오는 비용이 어마어마하다는 거였다. 같이 오는 100여명의 스탭 중에는 헤어디자이너, 무대 감독, 음향 감독 뿐 아니라 전용 요리사들도 ..

iOS, Object-C를 이용한 아이폰/아이패드 개발에서 Delegate에 대한 이해-1. prolog

iOS에서 Object-C를 이용해 아이폰/아이패드 개발을 할 때 절대 빼 놓을 수 없는 필수 요소가 Delegate이다. 이게 없으면 개발을 할 수가 없을 정도인데, 블로그에서 delegate에 대해 찾아보면 이에 대한 정보가 정말 빈약하다. 그래서 이 연재를 만들기로 했다. Delegate에 대해 이해하려면 꽤 많은 걸 알아야 한다. 우선 interface나 abstract class 에 대해 알아야 한다. 자바, C#, 델파이, C++, Action Script에서는 interface나 abstract class 라고 부르지만, Objective-C에서는 protocol이라고 부른다. 그리고 callback 에 대해서도 이해해야 한다. Callback은 단순해서 좀 이해하기 쉬운데, 보통은 A 클래..

XCode (4.2)에서 C++과 Objective-C 를 동시에 쓰기

이 간단한 걸 기억 못해서 어제 종일 끙끙댔다. 그래서 기록을 남겨본다 XCode는 C++ 과 Objective-C 를 동시에 쓸 수 있.. 쓸 수 있을수도 있도록 지원하고 있다. 그래서 나는 중요한 클래스는 그냥 C++ 로 만들고 UI와 관련된 부분만 Objective-C 로 만들려고 생각하고 있다. 그런데, 오랜만에 해보니 이게 잘 안되는거다. 블로그 검색해도 잘 나오질 않고. 방법은 간단하다. 1. C++클래스를 사용하는 Objective-C 파일의 확장자를 .m 에서 .mm 으로 바꿔준다. .cpp 확장자를 .mm으로 바꾸는 게 아니라, .m 파일의 확장자를 .mm으로 바꾸는거다. 이렇게만 해도 되는데, 만약 이래도 안되면, 2. .cpp 파일의 속성을 아래와 같이, "Objective-C++ s..