본문 바로가기

프로그래밍/iphone

아이폰 프로그래밍 기본 개념. MVC 아이폰 프로그래밍이라기 보다는 객체 지향적 프로그래밍 기법의 기본적 개념이라고 말하는 것이 정확할듯. MVC Model - View - Controller 가장 기본이 되는 것이 이 모델 - 뷰 - 컨트롤러의 조합. 객체지향 프레임워크를 사용하는 프로그래밍에서는 대부분 지원하는 개념으로 봄. 이 패턴은 사용자인터페이스(UI)와 비지니스로직의 분리를 통해서, 서로간의 독립성을 유지시켜, 수정과 재사용이 용이하게 만들었음. 모델은 어플리케이션에서 사용되는 데이터들을 저장하는 클래스들을 말한다. 뷰라는 것은 흔히 볼수 있는 윈도우나 각종 버튼, 텍스트박스등등의 실제로 보이는 부분을 총칭. 컨트롤러는 이 모델과 뷰사이에서 서로의 입력-출력을 조정하고 제어하게 된다. 아이폰 프로그래밍에서는 이 3가지 개념을 이용.. 더보기
아이폰 프로그래밍의 다른점 몇가지 아이폰 프로그래밍이 기존의 프로그래밍과 다른점 몇가지 (기존 PC에서 실행되는 프로그램과는 다른점을 말한다... 아이폰에게만 해당된다기 보다는 모바일 기기 전체에 해당될듯...) 버전 3.1 까지... 1. 하나의 어플리케이션만 구동이 가능하다... (이것은 이번 ios4 에서 멀티프로세싱이 가능해 지면서, 그나마 제약이 풀린 것중하나다...) 2. 단 하나의 윈도우. 이것이 데스크탑용 어플리케이션과 크게 다른 점중 하나임. 여러개의 윈도우가 생성, 제어되는 기존 프로그램과는 달리 단 하나의 윈도우 안에서 모든 것들이 해결이 되어야 한다. 3. 접근 권한의 제약 이건 권한의 문제... 해킹을 해서 풀릴수 있는 문제이지만, 골치아픈 문제를 야기할수도 있다.. 샌드박스라 불리는 어플리케이션 영역안에서만 모든.. 더보기
Loading중 alert창에 indicator 표시하기 먼저 delegate.h 에 선언 @interface testAppDelegate: NSObject { UIWindow *window; UITextField *textfield; UIWebView *webView; UIActivityIndicatorView *indicator; UIAlertView *alert; } 이후 property, synthesize 를 각각 선언한다. -(void)webViewDidStartLoad:(UIWebView *)webView 에 시작코드를 -(void)webViewDidFinishLoad:(UIWebView *)webView 에 해제코드를 삽입한다. ------------------------- - -(void)webViewDidFinishLoad:(UIWebView.. 더보기
cocoa tips. stringWithFormat stringWithFormat C의 printf와 상당히 유사한 메소드. int count; NSString *inputText = [textField stringValue]; count = [inputText length]; inputText = [NSString stringWithFormat:@"%@ has %d letters",inputText,count]; 더보기
Cocoa programming tips. 초기화 메소드 작성규칙 초기화 메서드 작성 규칙 1. 슈퍼클래스 초기화 메서드로 충분한 경우 클래스 초기화케서드를 작성하지 않음 2. 초기화 메서드 작성시 슈퍼클래서의 초기화 매서드를 재정의 3. 여러개의 초기화 메서드가 있어도, 실제 수행되는것은 하나의 지정된 초기화 매소드. 다른 초기화 매소드는 해당 메소드의 호출로 처리된다. 4. 지정된 초기화 메소드는 슈퍼클래스의 초기화 메소드를 호출한다. 더보기
cocoa 정리. collection class 코코아 정리2. p57~ 중요한 cocoa 패러다임. 코코아의 기본적인 것들중 하나. Foundation 프레임워크에 클래스로 대표적으로 NSArray, NSDictionary 가 있다. NSArray 의 경우 제로 베이스 인덱싱을 하며, NSDictionary 의 경우 Key, value 를 이용해 객체의 저장과 탐색을 한다. 이 둘은 수정 불가능하며, NSMutableArray, NSMutableDictionary 의 경우에만 수정이 가능하다. NSArray의 경우 Key 값이 인덱싱을 위해 사용되므로, 콜랙션의 위치지정하는 정수가 되지만, NSDictionary 의 경우, 이 Key 느 값을 찾기위한 임의 값을 허용하게 된다. 콜랙션 객체의 기능 다른 객체 콜랙션, 파일, URL에서 초기 내용을 찾.. 더보기
Cocoa 개요. [스터디중인 Cocoa 정리 포스터1] Cocoa는 Mac OS X을 위한 주요 응용프로그램환경중 하나. Cocoa의 객체 지향 API는 자바, Objective-C로 구성된 응용프로그램의 개발을 쉽게 한다. 이런 Cocoa는 프레임워크가 된다.(공유객체라이브러리의 집합개념) Cocoa 수행능력 시스템 리소스로의 액세스 조정->프로그램이 타 어드레스 침범 방지->핵심운영체제내부작동으로부터 프로그램분리 프로그램 제작에 필요한 인프라제공 객체지향적 Cocoa에서는 QuickTime 과 OpenGL을 이용해서 개발이 가능하다. 기본적 객체지향개념 [객체] 인스턴스 변수 객체 = 데이터 운용절차+ 데이터; 개별적 프로그램 단위 객체 데이터 in 인스턴스 변수 메소드(Methods) = 함수(인스턴스변수의 데이터.. 더보기
AutoLogin for mac v0.11 AutoLogin for mac v 0.11 버전 업.... UI가 조금 바뀌고, 입력창을 조금 손봤다... 아직 사이트 자동등록, sync 기능 구현은 되질 않음 에디트 창에서 사이트 등록후, 해당사이트에 다시 접속할때 사이트 주소와 아이디, 패스워드를 리스트에서 가져온다 로그인버튼을 눌러주면 접속. 사이트 등록전 화면 몇개의 사이트 등록후 화면... 리스트에 등록한 네이버로 들어가면, 위와같이 창이 뜨고, 아이디랑 패스워드가 나타난다(sitelist.xml 은 리스트를 저장한 파일명, 패스워드는 지움..) 이때 로그인 버튼을 눌러주면,. 이렇게 로그인이 된다. 아직까지, 알패스처럼 로그인하면 자동으로 등록된다던지, 사이트에 접속하면 바로 로그인이 된다던지 하는 기능이 않된다. ㅋ 패스워드 저장할때 암.. 더보기
Autologin for mac v0.1 윈도우에서 알패스가 있어서 편리했었는데, 맥을 쓰니 도통... 1passwd 라는 것도 있던데... 그냥 간단한 툴을 공부삼아 만드는 중... 아직까지는 리스트에 추가 삭제 하고 자동 로그인 되는 기능만 구현중... 더보기
Cocoa, TextField 리턴 소스. 키보드 리턴 Xcode 상에서 텍스트 필드를 삽입하면, 포커스가 가면 키보드가 활성화 된다. 이후 입력의 과정을 거친후, 엔터키나 리턴키를 눌러줄때 키보드가 사라져야하는데, 이넘을 시켜주는 소스. -(BOOL)textFieldShouldReturn:(NSTextField *)theTextField { if(theTextField == subjectTextField) [subjectTextField resignFirstResponder]; return YES; } 아주 간단한 소스다. if 문의 경우에는 여러개의 textfield가 있을경우 일일이 처리를 해주어야 한다. 더보기
Cocoa 1st sample. 간단한 currency converter 애플문서에 나와있는 샘플코드. 간단하게 환전계산?? 해주는 프로그램이다. 1달러당 가격을 텍스트 필드에 입력받아 계산하는 간단한 프로그램으로, Cocoa 맛보기에는 좋은 코드. 번역중인 글은 http://wiki.osxdev.org/index.php/Xcode에서의_프로젝트_만들기 이곳에 있다. 실제 코딩하는 부분은 아주 적은 예제이며, Xcode의 전반적인 분위기를 익힐수 있다. 코딩하는 파일은 4가지이며, converter.h converter.m converterController.h converterController.m 이정도이다. 아래 파일이 결과물. 기본적인 부분은 생략. 코드 분석 converter.h -------------------------------------------------.. 더보기
Cocoa Application Tutorial. 코코아 프로그램 튜토리얼 번역중... 영어 공부겸 xcode 공부겸... osxdev wiki 에 튜토리얼 번역작업중... http://wiki.osxdev.org/index.php/Cocoa_Application_Tutorial 처음 소개 페이지부터.... Cocoa Application Tutorial 목차 [숨기기] 1 코코아 어플리케이션 튜토리얼 소개 2 구성 3 Goals for Learning 4 See Also [편집]코코아 어플리케이션 튜토리얼 소개내용: 이 문서의 구성 학습 목표 필수요소 참고 이 문서는 오브젝트C를 사용하는 코코아 어플리케이션 환경을 소개하며, xcode를 이용해서, 객체지향적 프로그램을 만드는 방법을 알려 줄것이다. 이 문건은 C 프로그래밍과 친숙할것이다. [편집]구성이 문서는 아래의 챕터로 이루어져있다:.. 더보기
Cocoa's Framework - Foundation, Application Kit 코코아의 대표적인 프레임워크인 Foundation 과 Application Kit에 관한 설명. Foundation 이 Foundation Framework 는 cocoa의 기본 클래스 레이어를 정의한다. apple 문서에 따르면 이러한 Foundation Framework 와 Application kit 의 클래스간의 구분법은 User interface 의 유무이다. 즉, User Interface에 객체가 나타나지 않거나 지원되지 않는다면 Foundation 클래스라고 한다. Foundation Classes 이 클래스는 NSObject 클래스에 기반을 두고 있다. 아래 이미지는 클래스의 상속과 논리적 분류가 되어있다. 여기서 보이는 Value 객체들은 여러 타입의 데이터를 제공한다. NSData 같.. 더보기
Xcode Programming1. Cocoa 살펴보기 cocoadev 님이 작성하신 xcode 강좌가 있어서 링크함. 간단한 코드여서 쉽게 xcode를 살펴볼수 있을듯 텍스트 필드에 입력한 글자를 버튼조작으로 좌우로 움직이게 하는 간단한 샘플이다. http://www.cocoadev.co.kr/183 위 이미지가 실행한 모습. 해당강좌는 링크를 따라가서 볼수 있다. 약간 특이?? 하다고 할까?? 코드중 버튼이미지등은 이미 공유된 이미지를 불러다 쓰게끔 코딩이 되어있다. inspector 창의 attribute 창에서도 버튼이미지등을 불러와 쓸수 있지만, cocodev 님의 댓글에서 보면.. ^^ 마우스보단 키보드가 편해서 코딩을 하셨다고 한다. 해당부분은 각자 개인의 취양대로 더보기