소스파일의 구조 ───────────── 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를 다른 원하는 색으로 바꾸시면 됩니다.
저의 경우 탭바 형식에 네비게이션 컨트롤러를 넣어서 그 컨트롤러의 타이틀을 지정할때 사용하였습니다. 사용예제는 아래와 같습니다. - (id) initWithCoder:(NSCoder *)aDecoder { if (self=[super initWithCoder:aDecoder]) { self.title = @"INSERT Title NAME"; } return self; } 참고용으로 개발자 문서의 레퍼런스를 올립니다. NSCoding Protocol Reference Adopted by Various Cocoa classes Framework /System/Library/Frameworks/Foundation.framework Availability Available in iOS 2.0 and later..
UIPickerViewDataSource Protocol Reference Conforms to NSObject Framework /System/Library/Frameworks/UIKit.framework Availability Available in iOS 2.0 and later. Declared in UIPickerView.h Related sample code iPhoneCoreDataRecipes iPhoneMixerEQGraphTest LocateMe QuartzDemo OverviewThe UIPickerViewDataSource protocol must be adopted by an object that mediates between a UIPickerView object and your..
- Total
- Today
- Yesterday
- Spring Framework
- 오브젝트 C
- iOS 개발
- MySQL
- 제이쿼리
- tomcat
- 아이폰 어플리케이션
- MAC OSX 10.7
- jQuery
- Objective-C
- zero
- SQL
- 티스토리챌린지
- iBATIS
- 아이폰
- Spring
- 오블완
- JSP
- Programming
- 자바
- 자바스크립트
- Object C
- oracle
- 아이폰 개발
- Java
- 오브젝티브 C
- Objective C
- iPhone
- JavaScript
- IT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |