본문 바로가기

iOS Dev

iOS개발하기 #33. Protocol, Delegate (프로토콜, 델리게이트) 오늘의 주제 1. Protocol 2. Delegate 만들어 보기 서른 세 번째 시간입니다.^^ 지난 번에는 유저의 응답을 받아 볼 수 있는 피커뷰에 대해 알아보았습니다~ 이번에는 프로토콜이라는 것에 대하여 알아보도록 할게요~ 잘만 사용하면 좋은 녀석입니다 ㅎ 스따뚜~~~~~~~~~~~~ # Protocol이란? 네트워크에서 프로토콜이라 함은 일종의 통신규약을 말하는데요, Objective-C에서는 약간 다른 의미로 사용됩니다. 음... 뭐 굳이 말하자면 클래스간의 통신 규약이라고도 말할 수 있겠네요 ㅎ 프로토콜은 일정한 메소드를 통하여 클래스 간에 통신을 할 수 있는 통로를 제공합니다. 어떠한 객체에서 다른 객체로 데이터나 메세지를 전달하고 싶을 때 사용할 수 있습니다. 말로는 잘 느낌이 안오시죠?ㅎ.. 더보기
iOS개발하기 #32. 피커뷰(UIPickerView) 오늘의 주제 1. UIPickerView 2. UIPickerViewDelegate 서른 두번째 시간입니다.^^ 지난 번에는 뺑글이를 돌려보셨겠지요?ㅎ 오늘은 사용자의 입력받기를 해 볼까 합니다~ 그 중에 하나로 피커뷰를 해 볼게요~ 그 전에 이제껏 우리가 사용했지만 제대로 알지 못했던 NSArray에 대해 조금 알아보고 오시면 좋겠습니다. Objective-C 카테고리에 포스팅이 되어있어요^^* 2012/04/20 - [Objective-C] - Objective C . 딕셔너리, 배열 ( NSDictionary, NSArray ) 자, 다 보셨으면 출발 해 볼까요?ㅎ 스따뚜~~~~~~~~~~~~ 전에 추천 한 방 어떠세요?ㅎ 저에게 큰 힘이 됩니다~^^* # 피커뷰란? 피커뷰에는 크게 두 가지 종류가.. 더보기
iOS개발하기 #31. UIActivityIndicator, NSThread 오늘의 주제 1. UIActivityIndicator 2. NSThread 서른 한 번째 시간입니다.^^ 지난 번에 소리재생을 했는데, 화면이 멍 때리는 현상이 발생하였죠?ㅎ 자, 그녀석을 해결할 방법을 찾아봅시다. 그리고 로딩할 때 그냥 로딩되면 심심하니까 뺑글이도 한 번 넣어줘 봅시다~ 스따뚜~~~~~~~~~~~~ 그 전에 추천 한 방 어떠세요?ㅎ 저에겐 큰 힘이 됩니다 +_+ㅋ # NSThread 일단, 화면이 멈추는 것 먼저 해결을 해 보도록 할게요. 스레드 라는 녀석이 있습니다. 우리가 이제까지 일반적으로 코드를 통해 동작시킨 녀석들은 거진 다 메인 스레드에서 동작을 하게 됩니다. 그런데 메인 스레드에서 무슨 일을 명령을 하면 어떤 한 일처리가 끝나기 전까지는 다른 일처리를 하지 못합니다. 다시.. 더보기
iOS개발하기 #30. 음악재생 (AVAudioPlayer) 오늘의 주제 1. 음악재생하기 AVAudioPlayer 벌써 서른 번째 시간입니다.+_+ 꺄~ 지난 번에는 뭘 했었죠? 아~ 경고창 ㅎㅎ 네~ 경고창~ 엄청 많이 쓰이지는 않지만 감초같은 존재죠?ㅎ 우리가 화면에 보이는 것들 중 많은 녀석들은 delegate를 사용한다고 보시면 됩니다...ㅎ 물론 화면에 안보이는 녀석들도 종종 있지만요 ㅎ 뭐 일단 요번에는 Cstlex님께서 요청하신 특정 음악파일 재생에 대해서 알아보려고 합니다. 많이 기다리셨죠?ㅎ 자, 시작해 봅시다~ 그 전에, 추천 한 방 빵빵하게 어떠세요?ㅎ 저에겐 큰 힘이 됩니다 +_+ 고맙습니다~ㅎ # 음악 재생하기 자, 우리 저번 시간까지 사용하던 프로젝트의 프로젝트 설정 화면으로 들어가 봅시다. 우리가 음악을 재생하기 위해선 프레임워크 하나.. 더보기
iOS개발하기 #29. 경고창 (UIAlertView) 오늘의 주제 1. UIAlertView 스물 아홉번째 시간입니다.^^ 지난 번까지는 웹뷰에 대해서 알아보았습니다. 이번에는 AlertView에 대해서 알아보도록 하겠습니다. AlertView는 xib에서 생성이 되지 않고 코드로 생성을 해 주어야 합니다.ㅎ 그럼 일단 시작해 봅시다~! # UIAlertView 자, 일단 AlertView는 delegate가 없으면 무용지물입니다. 이녀석은 그냥 얼굴만 비출 뿐 아무것도 하지 않으려고 합니다. 그래서 우리는 ViewControllerForWeb에게 AlertView의 델리게이트를 해달라고 말할거예요. 자, 그리고 AlertView도 하나가 아니면 구분을 할 수 없기 때문에 태그를 넣어줄 예정이예요. 그래서 enum으로 먼저 어떻게 해줄지 정해줍니다. enu.. 더보기
iOS개발하기 #28. 웹뷰 (WebView) <2> - delegate 사용해 보기 오늘의 주제 1. UIWebView 2. UIWebViewDelegate 스물 여덟번째 시간입니다.^^ 지난 번에는 웹뷰를 만들고 화면에 웹페이지를 띄워 만들어 보았습니다. 자 그럼 오늘은 웹뷰와 함께 이것저것 해 보아야 겠지요?ㅎ 긴 말 없이 시작해 봅니다 ㅎㅎ p.s. 추천 한 방 어떠세요?ㅎ # UIWebView - delegate 웹뷰를 화면에까지 띄워보았으니 이제는 앞으로 가기 뒤로가기 등,... 버튼 동작들을 구현해 봅니다. 자, 일단은 지난번에 버튼들에 태그를 달아 두었던 것 기억하시죠? 그 태그를 보다 직관적으로 표현해 보기 위하여 #define과 enum을 사용하여 구현해 보았습니다. #define과 enum은 뭐냐구요? 아... 음... C에서 나오는 녀석들인데, 제가 C 카테고리에서 .. 더보기
iOS개발하기 #27. 웹뷰 (WebView) <1> 오늘의 주제 1. UIWebView 2. UIToolBar 스물 일곱번째 시간입니다.^^ 지난 번까지는 프로젝트를 계속 사용했는데, 이번에 새로 프로젝트를 하나 만들어 보겠습니다. 어찌되었든간 지난 번 까지 했던 내용들은 마음에 드셨는지 모르겠습니다...^^ 지금까지 해 본것들은 예제이고 앞으로도 예제를 통해 내용이 진행되니, 디자인이 이쁘지 않더라도, 지금 당장 뭐가 없어보여도 쭉 한번 따라해 보세요..^^ 그럼 어느순간 머릿속에 정리가 되고 느낌이 올 때가 있습니다. 그 때, 필요한 것들만 검색하고 취합해서 자신만의 프로젝트를 만들어 가시면 됩니다. 아직 그정도는 안온 것 같죠?ㅎ 그럼 오늘 또 새로운 세상을 향하여 한 걸음 내딛어 봅시다^^ 출발~! # UIWebView, UIToolBar UIWe.. 더보기
iOS개발하기 #26. 이미지 피커 (UIImagePickerController) <사진찍기, 사진 불러오기> 오늘의 주제 1. UIImagePickerController 2. UIImagePickerControllerDelegate 스물 여섯 번째 시간입니다.^^ 지난 번 액션시트에 이어 이어지는 포스팅입니다^^ 2012/04/21 - [iOS Dev/함께해보기] - iOS개발하기 #25. 액션시트 (UIActionSheet) 이번에는 액션시트를 눌러서 적절히 사진을 불러오는 방법에 대해 알아봅니다~ 재미있겠지요?ㅎㅎ 고고~~~~~~~~~~~~~~~~~~~~~ ★ 이번 포스팅은 Potomac님의 요청으로 진행해보았습니다 ^^* 사실 이거 해봐야지 하다가 마침 Potomac님께서 요청해 주셔서 이제야 합니다 ㅎ 고맙습니다~! # UIImagePickerController 자, 이제 사진을 불러와 보도록 할게요~ .. 더보기
iOS Simulator에 사진 넣기 iOS 시뮬레이터의 사진첩에 사진을 넣어봅시다. 시뮬레이터를 실행하고 그냥 아무때나 상관없이 원하는 사진을 시뮬레이터로 끌어다 놓습니다. 그러면 safari창이 뜨는데요, 이미지를 잠시 꾹 눌러줍니다. 그러면 이렇게 액션시트가 뜨는데 거기서 이미지를 저장해 주면 사진첩에 저장이 됩니다. 가끔 정상적으로 저장이 안되는 경우가 있다고 하는데, 다른 이미지로 하시면 잘 될거예요~ jpg나 png 이미지로 시도해 보세요~ㅎ ↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓ 더보기
iOS개발하기 #25. 액션시트 (UIActionSheet) 오늘의 주제 1. UIActionSheet 2. UIActionSheetDelegate 벌써 스물 다섯 번째 시간입니다.^^ 애니메이션은 흥미로우셨나요?ㅎ 이제 슬슬 뭔가 흥미가 오시는지, 아니면 아직도 뭐가 뭔지 잘 모르시는지..ㅋㅋㅋ 피드백이 없네요+_+ 이런이런 점이 부족하다 말씀해 주시면 좀 더 발전이 있을 것 같은데..^^; 자 그럼 서론은 이만 마치고 새로운 주제로 넘어가 봅시다~ 이번 주제는 UIActionSheet 입니다! 액션 시트가 뭐냐구요? 이제 알게 되겠죠?ㅎ ★ 이번 포스팅은 Potomac님의 요청으로 진행해보았습니다 ^^* 사실 이거 해봐야지 하다가 마침 Potomac님께서 요청해 주셔서 이제야 합니다 ㅎ 고맙습니다~! # UIActionSheet UIActionSheet는 사용.. 더보기
iOS개발하기 #24. 애니메이션(UIViewAnimation)<2> Flip, Curl 오늘의 주제 1. UIViewAnimation 사용해 보기 스물 네 번째 시간입니다.^^ 지난 번 포스팅에 이어 이번에도 애니메이션 입니다^^ 조금은 다른 애니메이션이예요~ㅎ 지난 번 포스팅을 보고 오셔야 좀 더 좋을 것 같습니다~! 2012/04/16 - [iOS Dev/함께해보기] - iOS개발하기 #23. 애니메이션(UIViewAnimation) 움직이기, 사라지기, 나타나기 자 그럼 출발~~~~~~~~~~~~ 추천 한방 꾸욱~~~~~~ ^ㅇ^ # 뷰 애니메이션 자, 계속 사용하던 뷰 컨트롤러를 사용합니다.ㅎ MyAnimationViewController xib파일로 와서 이번에는 ImageView하나를 끌어옵니다. UIImageView도 UIView의 하위 클래스 이기 때문에 애니메이션 적용이 가.. 더보기
iOS개발하기 #23. 애니메이션(UIViewAnimation)<1> 움직이기, 사라지기, 나타나기 오늘의 주제 1. UIViewAnimation 사용하기 스물 세번째 시간입니다.^^ 지난 번에는 스크롤 뷰에 대해 조금 알아보았습니다. 스크롤뷰는 정말 많이 쓰이고 있지요~ 이번에는 조금 재미있는 애니메이션을 사용해 봅시다~ 자, 그럼 긴말 없이 시작해 볼까요 ㅎㅎ # UIViewAnimation을 사용할 수 있는 녀석들은? 말 그대로 View Animation입니다. 즉, UIView 의 하위 클래스라면 모두 사용 가능하다고 볼 수 있습니다. 다시 말해서, 우리 눈에 보이는 거의 모든 녀석들은 이 애니메이션을 사용할 수 있다는 뜻이기도 합니다^^. 이미지 출처 : 윈플. 님의 블로그 위의 이미지를 보시면 UIView의 하위 클래스들을 볼 수 있습니다. 우리 눈에 보이는 거의 모든 놈들이 하위에 있음을 .. 더보기
iOS개발하기 #22. 스크롤 뷰, Scroll View(3) 페이징<2>, 페이지컨트롤 오늘의 주제 1. 페이지 컨트롤 달기 스물 두번째 시간입니다.^^ 지난 번에 이어서 이번에도 스크롤 뷰를 조금만 더 가지고 놀아봅시다.이번에는 정말 간단한거..ㅎㅎ 자, 그럼 긴말 필요없이 고고~ # 페이지 컨트롤 달기 세번째 뷰 컨트롤러 위에 페이지 컨트롤을 올려줍니다. 스크롤 뷰 위에 올리는거 아니예요~ 잘 보세요~그리고 아울렛을 요로코롬 연결 해 줍니다~이렇게 자동으로 연결이 되었겠죠?ㅎ ㅎㅎ 구현파일로 와서 코드 한 줄 추가해 줍니다~실행!!~~~~~~!!!!!!!!!짜잔~~~~~~~~ 아무것도 안보여ㅋ요ㅋ 물론... 전부 흰색이니까..ㄷㄷ그래서 페이지 컨트롤 배경색을 검정색으로 바꾸어 줍니다.실행하면 이제 보이네요 ㅎㅎㅎ 어라? 근데 페이지가 잘못나와요~페이지 컨트롤은 당연히 0페이지 부터 시작.. 더보기
iOS개발하기 #21. 스크롤 뷰, Scroll View(2) 델리게이트 오늘의 주제 1. 스크롤 뷰 델리게이트 알아보기 스물 한번째 시간입니다.^^ 저번에는 스크롤 뷰 페이징을 한 번 해봤습니다~그런데 그것만 보면 재미없지용?ㅎㅎ델리게이트 복습겸 해서 스크롤뷰 델리게이트 연결을 해 봅시다. 자 그럼 출바알~~~~~~~~~~~~ # 스크롤 뷰 델리게이트 델리게이트를 사용하려면 헤더에서 "나 델리게이트임" 이라고 말해줘야 한다고 했었죠?ㅎ이렇게 이쁘게 말해줍니다.그리고 나서 스크롤뷰 델리게이트 레퍼런스를 찾아봅니다.마침 그냥저냥 한 번 해볼만한 녀석이 보이는군요 ㅎ-scrollViewDidEndDeceleration: 이라는 녀석을 클릭해 봅시다.설명에는 '델리게이트에게 스크롤 움직임 감속이 끝났음을 말해줌" 이라고 써있네요.즉, 움직임이 멈춘것을 감지하여 말해준다는 거겠죠.레.. 더보기
iOS개발하기 #20. 스크롤 뷰, Scroll View(1) 페이징<1> 오늘의 주제 1. 스크롤 뷰 만들어 보기2. 스크롤 뷰로 페이징 해보기 벌써 스무 번째 시간입니다.^^ 지난 번까지 델리케이트와 데이터소스에 대해 알아보았습니다.정말 중요한 개념이니까 이해될 때 까지 실습해 보아야 합니다.그런 의미에서 다음 번에는 스크롤뷰 델리게이트도 잠깐 가지고 놀아볼 거예요~ 자 그럼 스크롤뷰 한 번 만들어 볼까요? 스따뚜~~~~~~~~~~~~ # 스크롤 뷰 만들기 새로운 뷰 컨트롤러를 만들어 봅시다.세번째 뷰 컨트롤러를 만듭니다. 자, 스크롤뷰를 쓰윽 끌어와 주시구요~ 아시죠?ㅎ 아울렛을 이렇게 연결 해 줍니다! 그 다음에 거꾸로 델리게이트도 연결해 줍니다. 다음 시간을 위하여^^* 이렇게 연결이 되었으면 잘 하신거예요~ 그 후에 스크롤뷰 옵션에서 Paging Enable을 체크해.. 더보기
Xcode4 xib의 객체 소스파일과 쉽게 연결하기 xib에서 오브젝트들 화면에 구성해 놓고 아울렛이나 액션 연결하려면 소스파일로 왔다가 갔다가... 귀찮으셨죠?한방에 해결해 봅시다 ㅎㅎXcode4에서 이런 좋은 기능을 제공합니다~일단 우선 Editor모드를 Show the Assistance editor 모드로 변경하면 두개의 소스파일을 동시에 볼 수 있죠?(캡쳐에서 오른쪽 위에 네모표시가 있습니다)그 모드에서 xib파일과 헤더파일을 동시에 열어줍니다.왼쪽 화면에 파일 내용을 띄우고 싶으면 파일을 클릭하면 되고, 오른쪽에 파일 내용을 띄우고 싶다면 Alt+클릭을 하면 됩니다.그 후 아래 이미지처럼 마우스 오른쪽 버튼 드래그&드랍 또는 Ctrl+드래그&드랍 해주시면 너무나 쉽게 Action 또는 Outlet을 선언해 줄 수 있습니다^^* ↓↓↓도움이 되었.. 더보기
iOS개발하기 #19. Delegate, Data Source (2)실습해보기~ 오늘의 주제 1. Delegate 실습 열 아홉번째 시간입니다.^^ 지난 번에는 delegate의 개념에 대해 잠깐 살펴보았지요? 이번에는 말보다는 실습을 한 번 해보겠습니다 ㅎㅎ 어제는 제 어머니 생신이었습니다!!! 뭐.. 그렇다구요 ㅎㅎㅎ 자 그럼 스따뚜~~~~~~~~~~~~ # MKMapViewDelegate 자, 지지난번 까지 사용했던 프로젝트 고대로 계속 사용합니다~ 지난번 포스팅처럼 어떠한 객체(여기서는 맵뷰)가 또다른 객체(여기서는 SecondViewController)를 자신의 delegate로 먼저 선언을 해 줘야 합니다. SecondViewController에서 생성해준 myMapViewController안에 있는 myMapView객체가 SecondViewController를 자신의 대.. 더보기
Xcode4에서 Framework & Library 추가하기 Xcode4 미만 버전을 쓰던 분들에게는 Xcode4는 정말 헷갈리죠..^^Xcode4에서 프레임워크 추가하는 방법입니다.네비게이션 영역에서 프로젝트를 클릭해주고 TARGETS를 클릭. Summary 탭으로 이동합니다.Linked Frameworks and Libraries 영역이 있습니다. 거기서 +버튼을 누르시고 원하는 프레임워크를 추가! 참 쉽죠잉~ㅎ라이브러리도 마찬가지 입니다^^↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓ 더보기
여러대의 맥에서 하나의 어플 개발하기 iOS 어플리케이션 개발을 한 대의 맥에서 한다면 걱정이 없습니다만,여러대의 맥에서 해야 한다면 인증서를 여러대의 맥에 설치를 해야 합니다.간단하게 생각하면 개발자 홈페이지에서 다시 다운받아 설치하면 된다고 생각을 하지만, 실상 그렇지가 못합니다.참..! 그리고 처음 인증서를 발급 받을 때 생성하였던 파일들을 모두 보관해 두시기 바랍니다.나중에 갱신에 필요할지도 모르니까요^^여튼, 여러대의 맥에서 개발을 하려면 처음 인증서를 발급받은 맥에서 일정 과정을 거쳐 복사하여 다른 맥으로 옮겨줘야 합니다. 인증서 파일을 복사하려면응용프로그램 - 유틸리티 - 키체인 접근을 실행합니다. 키체인에서 로그인, 카테고리에서 인증서를 선택하면 인증서 목록이 쭈욱 나오게 됩니다.거기에서 관련된 3개의 항목이 존재합니다.iPh.. 더보기
iOS개발하기 #18. Delegate, Data Source (1)개념잡기 오늘의 주제 1. Delegate 2. Data Source 열 여덟번째 시간입니다.^^ 지난 번에는 맵뷰를 간단히 만들어 보았습니다~ 정말 더 필요한거 없어요? 아무도 댓글도 반응도 추천도 없습니다... 저 블로그 접을까봐요...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이번에는 중요한 개념중에 하나인 Delegate와 Data Source에 대하여 알아보도록 하겠습니다~ 중요한 개념이므로 이해 될 때 까지~! 스따뚜~~~~~~~~~~~~ # Delegate??? Delegate. 델리게이트. 우리말로 번역하면 대리자 정도로 해석할 수 있겠네요. 말 그대로 Delegate는 누군가가 해야 할일을 대신 해주는 녀석이라고 생각하시면 됩니다. 조력자가 되겠지요. 말로만 이렇게 설명하면 잘 감이 안오시죠? 간단히 그림으로 알아봅.. 더보기