IPhone(15)
-
[IPhone 09.03]08. 문자열의 메모리 해제와 관련해서 도움되는 것
1. NSString에서 initWith의 이름으로 가지는 메소드들은 인자로 받은 객체의 레퍼런스 카운트를 하나 증가시킨다. 복사를 하는 것이 아니라 참조만 한다는 것을 말한다. initWith 계열의 메소드는 메모리가 할당(alloc)된 객체에 의해서만 가능한데 바꾸어 이야기하면 alloc를 호출했기 때문에 레퍼런스 카운트가 증가하고, 사용하지 않을 때에는 메모리의 해제(release)를 직접 해주어야 한다. 2. NSString에서 stringWith의 이름을 가지는 메소드들은 인자를 받은 객체를 복사하고 NSAutoreleasePool에 등록한다. 객체를 만든쪽에서는 해제(release)를 해주지 않아도 된다. 이 메소드는 alloc을 호출하지 않고 [NSString stringWithFormat:..
2010.09.03 -
[Cocos2D 09.03]01. Cocos2D 엔진
Cocos2D-iPhone엔진은 원래 파이썬으로 작성된 2D 기반의 게임 라이브러리인데 이를 아이폰 용으로 개량한거라고 하네요.. 내부를 보면 그래픽 출력을 위한 OpenGL ES및 사운드 출력을 위한 OpenAL라이브러리를 손쉽게 게임 개발에 사용할 수 있도록 래핑(wrapping)한 것으로 기능은 여러가지인데 뭐 크게 장면관리, 장면간의 전환 기능, 스프라이트 및 스프라이트 쉬트 지원(스프라이트는 이미지를 화면에 나타내는 방법), Lens Ripple Waves Liquid Twirl 등의 다양한 이펙트 지원, 애니메이션을 위한 다양한 액션 지원, Box2d 와 Chipmunk 물리 엔진 통합, 파티클 시스템 지원, 텍스트 렌더링 지원, 아틀라스 텍스쳐 지원, 타일맵 지원, 다중 타일맵 스크롤 지원,..
2010.09.03 -
[IPhone 09.01]07. 설정값 저장하기
1. NSUserDefaults 프로그래밍을 하면서 인터페이스도 중요하지만 어떤 작업을 하거나 게임같은 경우에 돈도 계속 유지 되어야 하는데 그럴때 데이터를 어떤곳에 저장해두었다가 프로그램을 읽을때마다 새로 읽음으로써 데이터를 보전할 수 있는게 중요하다. 코코아라이브러리의 NSUserDefaults라는 클래스가 있는데 이것은 이제 기본적인 저장혹은 읽기를 할수 있게 되어있는 클래스이다. @interface SaveSample { NSUserDefaults *defalut; } @end -(void)load { default=[NSUserDefaults standardUserDefault]; } -(void)save { [default setInteger:0 forKey:@"back_color"]; } 로..
2010.09.01 -
[IPhone 09.01]06. About of View
아이폰은 전체적의 구성을 뷰라는 개념으로 구성되어 있고 그 뷰라는 게념은 포토샵이나 일러스트를 해본사람은 알겠지만 레이어와 같은 구조로 이루어져 있습니다. 뷰에는 뷰의 컨트롤러인 UIViewController가 있으며 일반적인 뷰를 제외하고도 Alert View와 Menu가 있습니다. 1.일반적인 View 생성할때에는 UIView *view;로 생성하고 [self.view addSubview:view];로 뷰를 추가해주면 된다. 삭제할때는 [view removeFromSuperview]; 삭제가 되며 목록을 얻을때 [상위뷰 subviews]; 뷰의 순서를 바꾸는 방법 [상위뷰 exchangeSubviewAtIndex:n1 withSubviewAtIndex:n2]; 뷰의 프레임의 위치와 크기를 조절하는방법..
2010.09.01 -
[IPhone 09.01]05. Touch
아이폰이나 아이팟 터치의 가장 장점중하나가 터치가 된다는 것이다. 그터치를 얼마나 잘활용하느냐가 프로그래머가 고안해야할 방법중 하나이다. 먼저 터치를 하면 터치 메소드를 사용해야하는데 터치메소드는 UIView에 속해있는 그러므로 UIView를 상속받은 후 인터페이스빌드에서 Interaction에 UserInteraction Enabled를 체크해준다...그럼 기본적으로 터치를 사용할 준빈느 끝났다. 혹시나 듀얼터치나 그이상의 터치를 할려면 Mulitiple Touch를 클릭해주면 된다. 터치이벤트 처리 메소드 터치를 처음 했을 때 :(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event; 터치를 하고 움직였을 때 :(void)touchesMoved:(..
2010.09.01 -
[IPhone 09.01]04. TableView
테이블뷰란?? 가장 아이폰에서 많이 사용되는 예중 하나로써 데이터가 리스트 형태로 정렬 되어 있는것을 말하는데 일반적으로 전화번호부 메시지관리등으로 관리 되며 제약 조건으로는 1개의 컬럼 그러니까....한개의 줄로만 이루어져있으며 한개의 줄의 보기위해 상하 스크롤만 가능하게 되어있다. 테이블뷰는 크게 두 종류로 나뉘며 첫번째는 연속해서 목록이 나열되는 기본형태이며 두번째로는 항목들이 묶여서 다시 소분류로 나뉘어지는 그룹형태가 있다. 1. 메뉴판 프로그램 가장 기본이 되는 프로그램을 예로 작성해볼때 먼저 Navigation Based Application이라는 템플릿을 선택하여 프로젝트를 생성한다. 인터페이스 빌드를 열어서 TableView를 긁어서 현재 View에 놓는다. 그럼 일단 뷰의 기본 구성은 마..
2010.09.01