'iPhone'에 해당되는 글 4건

  1. 2009.12.11 [기본컨트롤편]textField와 버튼의 조합 (2)
  2. 2009.04.08 Hello World with Interface Builder
  3. 2009.04.07 첫 iphone 어플 Hello World~ (2)
  4. 2009.03.09 Cocoa = framework ?
XCode2009.12.11 09:33

우선 결과 화면부터 보면.. 다음 그림과 같습니다.






이전의 HelloWorld와 비슷한데요, 


우선  Xcode에서 MainWindow.xib를 더블클릭 하여 IB 를 실행한 후 다음처럼 뷰, 텍스트필드와 버튼을 올려놓습니다.


UIView는 이름을 view, UITextField는 이름을 textField 로, UIButton은 button 으로 이름을 정하였고, 다음처럼 View Identify에 아울렛 설정을 합니다.





버튼 액션은 TouchDown에 button_TouchDown에 걸었습니다.

그리고, IB에서 File-Write Class Files를 선택하고, 파일명을 view 라고 지정 합니다.


소스를 다음과 같이 입력합니다.


view.h 파일



view.m 파일



이렇게 해서  Command + R 을 누르면, 첫 화면처럼 결과가 나옵니다.


이렇게 해 보면서 특이한점은 스트링 비교 할때 if(name=="") 처럼은 안되고, 닷넷의 equals와 비슷한 방식으로 메서드를 이용해서 비교 하는게 특이합니다. 또한, 마지막에 name, alert 은 release해 줬는데, msg는 안해줬습니다.

명시적으로 메모리 할당을 하지 않으면 가비지 컬렉터에게 수집당하기 때문입니다. 이상한건, 가비지 컬렉터가 수집하더라고 임의로 릴리즈를 해 주니깐, 어플이 다운되어 버리더라고요... 참.. 이상합니다.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
XCode2009.04.08 14:04

이번에는 저번 시간에 얘기 했던 Hello World를 Interface builder를 이용해서 View에 나타나도록 해 보겠습니다.


이름이 HelloWorld2 라는 프로젝트를 생성합니다.(생성 방법은 이전 강좌 참조)


프로젝트를 생성 하면 Resources 폴더에 MainWindow.xib 파일이 자동 생성 됩니다.

이 파일이 하는 역할이 실제 iPhone에서 화면에 보여지는 View들을 비주얼하게 작성할수 있는 파일입니다.

이 파일을 더블클릭 합니다



더블클릭하면 다음과 같은 Interface Builder창이 뜨게 됩니다.




혹시나 이중에 Window Identity 창이 안뜰 경우도 있는데 이때는 메뉴에서 [Tools]-[Inspector]를 선택하면 열리게 됩니다.


우선 윈도우에 View를 하나 추가 해야합니다. Library 화면 모양이 다를경우 하단에 속성을 보고 참고 하시면 됩니다.



위 그림과 같이 UIView를 선택하여 드래그 해서 윈도우에 넣습니다. 윈도우에 View를 추가 하면 아래와 같은 모양의 화면이 됩니다.



이어서 UILabel, UIButton을 아래 그림처럼 넣어 보세요.



그리고 이제 View에 Oulet, Action을 추가 해야합니다. 우선 View이름을 mainView로 수정하고 Oulet과 Action을 추가 해 봅시다. 아래 그림처럼 따라 하시면 됩니다.(우선 버튼이나 레이블이 아닌 바탕영역을 클릭하고, View Identity창에서 입력합니다)

View 클래스명은 mainView, Action에는 btnClick, Oulet에는 lblText, type에 UILabel




이제부터 중요합니다. XCode에서는 기존 윈도우 프로그래밍과 다르게 코드와 Window를 역어줄 무언가가 필요합니다.

중간 단계를 하는 녀석이 Oulet이며, Action도 위에서 정한 이름으로 매핑 시켜야 합니다. 매핑 방법이 좀 특이하니 화면을 잘 보시기 바랍니다.





View Connections 창에서 lblText의 우측 동그라미를 클릭후 창의 Label로 드래그 하여 연결시켜 줍니다.




버튼의 경우 연결하면 위 그림처럼 메뉴가 나오는데 Touch Down을 선택합니다. 그러면 아래와 같은 View Connections화면이 될것입니다.



그러면 실제 화면은 모두 만들었습니다. 이렇게 만든 화면에서 우리가 지정한 View Connections 부분을 클래스 파일로 저장을 시켜야 하는데, 윈도우에서 레이블이나 버튼이 아닌 흰 바탕을 클릭하고 [File]-[Write Class Files]를 선택하고 Save를 합니다.



이때 아래와 같이 현재 프로젝트에 소스를 추가 할것인지 묻는 창이 나타나는데, 체크박스에 체크하고 Add를 선택합니다.




그러면 아래와 같이 mainView.h, mainView.m 파일이 추가된 것을 볼수 있습니다.



이 파일의 위치를 아래 그림과 같이 Classes 폴더로 이동 시킵니다.


이제부터 코딩을 합니다. ㅡ..ㅡ;


윈도우 프로그래밍에 비해서 아주 번거로운 작업이 필요하죠? ^^;


mainView.h파일의 소스를 아래와 같이 바꿔 줍니다.




그리고 mainView.m을 아래와 같이 코딩합니다.






모두 되었습니다.


저장하고 실행을 하시면 아래 처럼 정상적으로 iPhone Simulator이 실행이 되고



버튼을 클릭 하면 아래와 같이 Hello World가 출력이 됩니다.



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
TAG iPhone, XCode
XCode2009.04.07 15:09

안녕하세요


모든 언어의 첫걸음은 Hello World 로 시작하죠?


간단히 시작 해 볼까요?


처음이니깐, NSLog를 이용해서 디버그 창에 찍어 보도록 하겠습니다.


1. XCode를 실행합니다.

실행 하고나서 상단에 [File]-[New Project]를 선택 합니다. 아래와 같은 New Project 창에서 Window-Based Application을 선택하고 Choose 버튼을 클릭합니다





그러면 프로젝트 이름을 지정하는 창이 나타납니다.

이름을 HelloWorld로 설정 하고 Save 버튼을 클릭 합니다.



아래 그림과 같이 프로젝트 생성이 되었습니다.




우리가 원하는 것은 뷰단이 아니고 NSLog를 이용하여 Hello World를 디버그 창에 찍는것 입니다.

위 창과 같이 main.m 파일을 열면 위와 같은 소스가 나옵니다.


다른 언어와 비슷하게 main 메서드에서 시작하네요 ^^


#import! <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
   
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}


이 소스를 아래와 같이 변경 합니다


#import! <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
   
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    NSLog(@"Hello World!!!");
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}


그리고 command + R 버튼 또는 Build and Go 버튼을 누르면  iphone simulator가 실행되면서 로그창에


아래 그림 처럼 로그가 찍힙니다.




이로써 우리의 첫번째 어플리케이션이 완성되었습니다.



P.S : 거의 모든 소스의 Hello World가 Interface Builder로 레이블과 버튼으로 시작하는 예제였는데

따라하기가 어렵더라구요.. 이걸 한번 해 보시고 그 예제를 해 보시면 약간 더 감잡는데 좋을것 같네요.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
TAG iPhone, XCode
분류없음2009.03.09 20:07

iphone 개발을 위한 언어가 아니라 프레임웍이구나...
언어는 Objective-C 이고 ANSI C 에서 유래가 되었다고 하는군...

게임을 만들기 위해서는 openGL 부터 공부해야하나? ㅡㅡ;
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
TAG iPhone

티스토리 툴바