IPhone/Basic(9)
-
[IPhone 09.03]09. 타이머 and Label
1. NSTimer 타이머는 일반적으로 게임이든 어디든 잘 사용되는 클래스 입니다. 뭐 cocos2D에서는 이거 말고 다른 방법을 사용하지만 뭐 그전에 이걸 사용해볼까요..ㅋㅋ onStartTimer을 읽어서 updateCounter을 돌립니다. 일단 이걸 보면 꼭 쓰레드 돌리는거 같습니다. - (void)updateCounter:(NSTimer *)theTimer { count += 2; } - (void) onStartTimer:(id)sender { if(timer==nil) { timer = [[NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(updateCounter:) userInfo:nil repeats:YE..
2010.09.03 -
[IPhone 09.03]08. 문자열의 메모리 해제와 관련해서 도움되는 것
1. NSString에서 initWith의 이름으로 가지는 메소드들은 인자로 받은 객체의 레퍼런스 카운트를 하나 증가시킨다. 복사를 하는 것이 아니라 참조만 한다는 것을 말한다. initWith 계열의 메소드는 메모리가 할당(alloc)된 객체에 의해서만 가능한데 바꾸어 이야기하면 alloc를 호출했기 때문에 레퍼런스 카운트가 증가하고, 사용하지 않을 때에는 메모리의 해제(release)를 직접 해주어야 한다. 2. NSString에서 stringWith의 이름을 가지는 메소드들은 인자를 받은 객체를 복사하고 NSAutoreleasePool에 등록한다. 객체를 만든쪽에서는 해제(release)를 해주지 않아도 된다. 이 메소드는 alloc을 호출하지 않고 [NSString stringWithFormat:..
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