본문 바로가기

개발/Objective-C

오브씨의 기초 번역: 영어 | 중국어 개요 시작하기 이 튜토리얼 다운로드 환경설정 머리말 hello world 만들기 클래스 만들기 인터페이스: @interface 구현: @implementation 모두 합하기 세부적인 내용들 매개변수를 여러 개 갖는 경우 생성자 접근 권한 클래스 수준 접근성 예외처리 상속, 다형성, 그리고 다른 객체 지향 프로그래밍의 기능들 id 형 상속, 다형성, 그리고 다른 객체 지향 프로그래밍의 기능들 동적 형 카테고리 포징 프로토콜 메모리 관리 Retain과 Release Dealloc Autorelease Pool Foundation Framework 클래스 NSArray NSDictionary 장단점 추가 정보 시작하기 이 튜토리얼 다운로드 이 가이드에 사용된 소스 코드와 Makefil.. 더보기
[초/중급] 아이폰 코드를 위한 간단한 Objective-C 2.0 문법 출처 : 맥부기 http://cafe.naver.com/mcbugi - 케빈님이 작성하신 문서입니다. #3/3 '아이폰 코드를 위한 간단한 Objective-C 2.0 문법'에 관한 글 입니다. 3회로 구성되어 있으며, 3번째는 소스 파일입니다. 감사합니다. 더보기
오브젝의 시작 - 맥부기 펌 기본적으로 오브젝은 앱개발 도중 나오는 데로 정리할 생각이다. 일단은 개념부터 조금 정리해야할 것 같아. 맥부기 까페(http://cafe.naver.com/mcbugi) 의 강의 몇개를 정리해두겠다. copy & paste가 아닌 순수 타자로 개인적 정리를 포함하여 수정하겠다. 개인 공부용이니 문제가 될 시 삭제 또는 비공개 전환할 것이고 원문은 맥부기 카페(http://cafe.naver.com/mcbugi) 를 이용하기 바람. 지금부터 시작 오브씨 시작... 상관없지만 오브젝씨는 Brad Cox라는 사람이 만들었다. *코딩 기본규칙 1. 클래스는 대문자로 시작한다. 2. 인스턴스 변수는 소문자로 시작한다. private 할 경우 _xxx, __xxx 를 허용한다. (혹시 모를까 private란 : .. 더보기
오브씨 카테고리 추가 오브 씨 카테고리 추가 오브씨를 따로 정리해둘 필요성을 느껴 카테고리 분활~~!! 자료는 추후 정리 후 이동 예정 일단은 지금 공부하는 것 부터 정리 ㄱ ㄱ !! 더보기
Objective-C 기초 Objective-C(이하 OC)의 기초 - 파일 확장자 *.h : 선언이 들어가 있는 헤더 파일 *.m : OC 또는 C 소스 파일 *.mm : C++ 소스 파일 - #import #include는 잊어라...#import를 쓰면 해당 *.h 파일이 한번만 포함되도록 해준단다 - Comments 주석을 달때는 //을 쓰라고 한다 - Class 객체를 표현하기 위한 선언 멤버 변수 선언은 기존의 C++과 거의 흡사 프로퍼티나 메소드 선언은 C++과 매우 다름 자신은 self, 부모는 super로 접근 가능 아래 선언 예제 즉 *.h 파일에 들어가는 내용 아래는 구현 예제 즉 *.m 파일에 들어가는 내용 @implementation MyClass - (id)initWithString:(NSString *).. 더보기
OBJECT-C 아키텍쳐 더보기
delegate 델리게이트(delegate) : 메소드를 참조하기 위한 기법으로 이벤트와 스레드를 처리하는데 주로 사용 C/C++언어에서의 함수 포인터와 유사한 기능을 갖고 있지만 함수 포인터보다는 객체지향적이며 타입 안정적이다. 델리게이트가 객체지향적이라는 이유는 델리게이트가 정적 메소드 뿐만 아니라, 인스턴스 메소드도 참조 할 수 있기 때문이다. 타입 안정적 -델리게이트의 형태와 참조할 메소드의 형태가 항상 일치해야함!!!!!! -모든 델리게이트는 묵시적으로 System.Delegate클래스를 상속한 클래스 형으로 간주된다. -델리게이트 객체를 생성하는 것은 클래스 객체를 생성하는것과 유사하다. -델리게이트 객체를 통하여 메소드를 호출할 수 있다는 점이 특징적이다. 델리게이트의 정의 [수정자] delegate [반환.. 더보기
Object-c에서의 delegate Object-C 프로그래밍에 있어서 델리게이트는 매우 중요한 요소라고 할 수 있다. 게다가 이 델리게이트는 아이폰 애플리케이션의 생명주기와도 깊은 연관이 있다. 델리게이트가 없다면 생명을 잃어버린 애플리케이션이라고 말 할 수 있다. 애플리케이션의 생명주기. 어떤 프로그래밍 언어이든지, 프로그램이 소스 코드를 통하여 메모리에 적재되고, 각자 정해진 위치에서 역할을 수행하고, 필요가 없어졌을 때 메모리에서 사라지는 생명주기 싸이클이 존제한다. 아이폰 프로그램에서도 예외라고 할 수는 없다. 그림1. 아이폰 애플리케이션 생명주기. 애플리케이션의 생명 주기는 실행과 종료 사이에 발생하는 순차적인 이벤트들을 만들어낸다. 사용자는 아이폰 스크린의 아이콘을 선태하여 애플리케이션을 실행하게 된다. 이후에 시스템은 진행 .. 더보기
retain 관련 알아둘것 먼저 간단한 예제 하나 보고 시작하시죠~ NSString* szTestObject; @property(nonatomic,retain) NSString* szTestObject; @synthesize szTestObject; - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"RETAIN COUNT (Before): %i", [szTestObject retainCount]); self.szTestObject = [[NSString alloc] initWithFormat:@"TEST %i", 10]; NSLog(@"RETAIN COUNT (After): %i", [szTestObject retainCount]); } - (void)dealloc { [szTestObje.. 더보기
프로퍼티 프로퍼티에 대해 들어가기 전에 접근제어에 대하여 이것은 오브젝트가 가지는 인스턴스 변수로의 접근에 관한 구현 사항을 간략화 하게 해주는 기능이다. C언어적인 자유도를 프로그래머에게 제공해 주고 싶은 Objective-C는 역시 그쪽에서는 자유 였다. 일단 인스턴스 변경에 @public、@protected、@private라고 하는 접근 수식자를 부가하는 것은 가능 하다. 그러나 @protected와 @private를 붙였다고 해도 컴파일 타임에 경고가 나오는 정도로 빌드도 나오고 실행도 문제없이 되버린다. 이게 Objective-C다운 방식이라 할수있다.... 라고 긍정적으로 어떻게 받아볼려고 하는 것도 역시 한계가 있다. 이런거라면 처음부터 그냥 없었던게 나았을 것이다. @interface MyObjec.. 더보기