헤더파일의 저장소 ─────────────── #import 이것은 Foundation 프레임워크의 'Foundation.h'라는 헤더파일을 읽어 들이는 프리프로세서 지시문인데, 프레임워크와 헤더파일은 어디에 있는걸까요? 우선 프레임워크의 경우 Mac OS X에서는 시동 디스크의 [시스템] - [라이브러리] - [Frameworks] 폴더 아래에 프레임워크별 폴더로 나뉘어 저장되어 있습니다. Foundation 프레임워크의 경우는 [Foundation.framework] 폴더에 프레임워크 본체와 헤더 파일이 저장되어 있습니다. Foundation 프레임워크의 헤더파일은 [Foundation.framework] 폴더의 [Headers] - 'Foundation.h'가 됩니다. 헤더 파일은 일반적인 텍스트 ..
최초로 호출되는 main함수 ───────────────────── 함수란 일련의 처리를 모아서 '함수명'으로 호출할 수 있도록 한 것입니다. 이 때 함수에 넘겨주는 값을 인수라고 합니다. 그리고 함수가 처리한 결과를 호출한 쪽으로 되돌려주는 값을 반환값이라고 합니다. 함수는 다음과 같은 형식으로 정의합니다. 반환값의 타입 함수명(인수 리스트){ 함수의 내용 return 반환값; } 즉, 함수의 내용은 '{'와 '}' 사이에 기술하는 것입니다. C언어에서는 프로그램을 실행하면 제일 먼저 main이라는 이름의 함수가 호출된다는 규칙이 있습니다. Objective-C에서도 마찬가지 입니다. Sample.m을 살펴보면 다음과 같이 main 함수가 기술되어 있습니다. int main (int argc, cons..
소스파일의 구조 ───────────── Xcode에서 커맨드라인 어플리케이션(Foundation) 프로젝트를 처음 생성하면 나오는 샘플코드로 소스파일인 .m 파일의 구조를 살펴보겠습니다. 처음 프로젝트를 생성하면 함께 생성되는 .m 소스파일의 샘플코드 입니다. 위 코드에서 화살표로 표시한 1 부분의 #import로 시작되는 부분은 헤더 파일을 읽어 들이는 부분입니다. 그리고 화살표로 표시한 2 부분이 프로그램의 본체 main 함수입니다. 자 그럼 import한 헤더파일과 메인함수에 대해서 알아보겠습니다. 헤더파일의 Import ─────────────── 프레임워크의 메소드와 라이브러리의 함수 선언 등이 포함된 파일을 헤더파일(head file)이라고 합니다. 소스 파일 내에서 메소드나 함수를 호출하면..
가비지 컬렉션에 대해서 ────────────────── 프로그램을 실행할 때 종종 문제가 되는 것은 메모리상에 확보한 영역을 언제 해제하느냐입니다. Objective-C와 같은 객체지향 언어에서는 오브젝트를 생성하면 메모리상에 그 영역이 만들어집니다. 오브젝트를 계속해서 생성하다보면, 사용할 수 있는 메모리 영역은 그만큼 줄어들게 됩니다. 그렇기 때문에 필요가 없어진 오브젝트는 프로그래머가 적절하게 해제해서 메모리를 확보해 주어야 합니다. 그렇지 않으면 자림나 차지하고 사용되지 않는 메모리 영역이 계속 증가하게 됩니다. 이런 현상을 메모리 누수(memory leak)라고 합니다. 그래서 고안해 낸 것이 가비지 컬렉션(garbage collection)이라는 기능입니다. 말 그대로 쓰레기를 수집하듯, 불..
Framework(프레임워크)에 대해서 ───────────────────────── 프레임워크(정확하게는 애플리케이션 프레임워크)란 애플리케이션의 개발 및 실행을 지원하는 틀 혹은 실행환경 같은 것입니다. 초창기의 프로그래밍에서는 자주 사용되는 처리를 모아두고, 다른 프로그램에서 자유롭게 호출할 수 있게 하는 라이브러리라는 개념을 사용했는데, 프레임워크는 거기서 더 발전한 형태로 생각할 수 있습니다. 특히 요즘처럼 GUI(Graphic User Interface)를 많이 활용하는 데스크톱 애플리케이션에서는 빼놓을 수 없는 존재입니다. 덧붙여 프레임워크에 준비되어 있는 기능을 꺼내 쓰게 해 주는 창구 같은 것을 API(Application Programming Interface)라고 부릅니다. 각각의 프..
유니버셜 바이너리 ─────────────── Mac OS X용 프로그램이 모토로라 계열의 PowerPC를 탑재한 Mac에서도 동작하고, Intel CPU를 탑재한 이른바 Intel Mac에서도 동작하는 이유가 뭔지 알고 계시나요? 최근에 나오는 Mac OS X용 프로그램은 각각의 형식에 대응하는 실행 파일들을 하나의 파일 속에 저장하고 있습니다. 이런 파일 형식을 유니버셜 바이너리라고 합니다. 유니버셜 바이너리 이전의 PowerPC Mac용 프로그램도 Intel Mac상에서 동작시킬 수 있습니다. Intel Mac에는 Rosetta라고 불리는 변환 프로그램이 준비되어 있어, Rosetta를 인스톨한 환경이라면 PowerPC용 프로그램을 Intel 형식의 프로그램으로 변환하면서 실행하는 것입니다.
RAM의 분류 기억 방식에 따른 분류 - 동적 RAM(DRAM, Dynamic RAM) - 저장하려고 하는 2진 정보를 충전기에 공급되는 전하의 형태로 보관 - 전력 소비가 적고 단일 메모리 칩 내에 더 많은 정보를 저장할 수 있다. - 충전기의 방전 현상으로 인한 정보의 손실을 막기 위해서 재충전(refresh) 회로가 필요하다. - 정적 RAM(SRAM, Static RAM) - 주로 2진 정보를 저장하는 내부 회로가 플립플롭으로 구성 - 저장된 정보는 전원이 공급되는 동안에 그대로 보존된다. - 사용하기 쉽고 읽기와 쓰기 동작 사이클이 동적 RAM보다 짧다. ROM MaskROM과 PROM(Programmable ROM) - Mask ROM - ROM 제작사 측에서 저장 데이터에 맞게 회로를 구성해..
위 캡쳐 이미지는 기본적인 네비게이션바의 색상을 가지고 있습니다. 이 색상을 아래와 같은 컬러로 바꾸어 보고자 할때 사용하는 메소드가 (void)viewWillAppear:(BOOL)animated 입니다. 위 메소드 내부를 구현해보면 - (void)viewWillAppear:(BOOL)animated { [self.navigationController.navigationBar setTintColor:[UIColor blackColor]]; } 다음과 같이 구현하면 위 스크린샷과 같이 검은색으로 네비게이션바의 색상이 바뀝니다. 위 소스에서 [UIColor blackColor]부분중 blackColor를 다른 원하는 색으로 바꾸시면 됩니다.
- Total
- Today
- Yesterday
- oracle
- SQL
- Spring
- IT
- Java
- 자바
- 자바스크립트
- 제이쿼리
- Object C
- MAC OSX 10.7
- 아이폰
- Objective C
- 오브젝트 C
- MacOS X
- iOS 개발
- Programming
- JavaScript
- MySQL
- 아이폰 어플리케이션
- 오브젝티브 C
- 아이폰 개발
- jQuery
- Xcode
- Spring Framework
- iBATIS
- Objective-C
- zero
- tomcat
- JSP
- iPhone
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |