본문 바로가기

야곰

iOS개발하기 #42. XML Parser (3) <TBXML, NSNotification, UITableViewCell> 오늘의 주제 1. XML 파싱결과 테이블에 보여주기 마흔 두 번째 시간이자 XMLParsing 마지막 시간입니다.ㅎㅎ 지난 번까지 진행했던 내용들은 잘 되셨는지요? 이번에는 이제 XMLParsing을 마무리 해보려고 합니다. 자, 긴말 필요없이 떠나 봅시다 ㅎ # NSNotification 지난 번에 '인절미후후' 님께서 블럭코딩 중에 데이터를 다른 메소드로 전달 하는 방법이 떠오르지 않아서 어려웠다고 말씀하셨는데요, 우리는 이미 배웠습니다..ㅎㅎ 객체간 데이터 전달에 관한 내용들 말예요~^^ 2012/05/24 - [iOS Dev/함께해보기] - iOS개발하기 #33. Protocol, Delegate (프로토콜, 델리게이트) 2012/05/26 - [iOS Dev/함께해보기] - iOS개발하기 #34.. 더보기
iOS Version Check, iOS버전체크, 상태체크, 기기명 등 기기정보 가져오기 오늘의 Tip 1. 현재 기기의 정보 가져오기 # UIDevice 오늘은 현재 기기의 정보들을 가져오는 것에 대해 알아봅시다. 일단 버전별 호환성 때문에 버전체크를 가장 많이 사용을 할 텐데, 버전정보를 가져오는 메소드를 살펴봅시다. 우선 UIDevice라는 클래스가 있네요. 레퍼런스를 살펴봅시다. 프로퍼티 중에 여러가지가 있는데, 이왕이면 한 번 다 같이 알아보도록 해요 ㅎㅎ 이런식으로 정보를 가져올 수 있습니다. 특히 기기 이름은 사용자가 지정해 놓은 기기명입니다. 그게 무슨뜻이냐구요?ㅎ 설정 - 일반 - 정보에 들어가면 나오는 이름을 뜻합니다. 버전을 체크할 때 이렇게 메소드들을 직접 만들어서 하기도 하구요, 미리 컴파일된 헤더(.pch) 파일에 #define으로 넣어서 구현하기도 한답니다. 예) .. 더보기
iOS 6 siri의 반응들 :D 더보기
iOS 6 beta 설치해보기 이번에 iOS 6 개발자 베타버전이 배포되었죠. 그래서 저도 설치해 보았습니다 ㅎㅎㅎ 한국어 siri 및 뭐 다양한 기능들이 있고, 페이스북도 들어가고...ㅎㅎ 오늘은 설치방법에 대해 한 번 알아봅니다~! 일단 애플 개발자 개정이 있어야 합니다. (무료 개발자 말고 $99 결제 한 개발자에 한함) 물론 설치하려고 하는 기기도 개발자 계정에 등록이 되어있어야 합니다. http://developer.apple.com 에 방문하여 iOS Dev Center로 향합니다.ㅎ 개발자 계정으로 로그인을 하면 아래와 같은 화면이 나옵니다. iOS 6 SDK beta 탭에 들어가셔서 Downloads를 클릭! 일단 iTunes 10.6.3을 다운받습니다(기존의 아이튠즈를 업데이트 하셔도 됩니다.) 그리고 자신의 기기에 .. 더보기
iOS개발하기 #41. XML Parser (2) <TBXML> 오늘의 주제 1. TBXML로 XML파싱 마흔 한 번째 시간입니다.^^ 지난 번에 테이블을 준비해 두었었죠? 오늘은 XML 파싱을 한 번 해보려 합니다. 본래 코코아 내에 NSXMLParser 라는 XML파싱 클래스가 존재 합니다. 그래서 그녀석으로 포스팅을 해볼까 하다가, 그녀석 보다 좋은 녀석이 있어서 소개 겸 진행해 보려고 합니다. 사용법도 훨씬 간단하고 속도도 훨씬 빠릅니다~! NSXMLParser는 처음 파싱해보는 분들은 정말 어려워 하는 경향이 있습니다. 그래서 준비했습니다. TBXML...! 오픈 라이브러리 가져다가 잘 쓰는 것도 중요합니다 ㅎㅎㅎ 저도 처음 써보는데, 일단 해 봅시다 ㅎㅎ # XML의 구조 지난 번에 예제로 쓰겠다고 했던 날씨 XML 데이터 입니다. XML은 요소(엘리먼트).. 더보기
iOS개발하기 #40. XML Parser (1) <UITableViewCell, UITableView> 오늘의 주제 1. XML 파싱을 위한 준비 2. 커스텀 테이블뷰 셀 만들기 마흔 번째 시간입니다.^^ ( *_* 벌써!!??? ) 지난 번까지는 JSON 으로 내려온 데이터를 파싱해 보았습니다. 이번에는 XML을 파싱하는 방법에 대해 알아보도록 하겠습니다. 기상청에서 내려주는 날씨데이터를 가지고 파싱을 해 보도록 할거예요. 오늘은 파싱을 위한 커스텀 테이블 준비를 해 볼게요~ 가봅시다~~~~~~~~~~~ ^0^ # 파싱을 위한 테이블 뷰 준비 우리가 파싱해 볼 기상청의 데이터 입니다. http://www.kma.go.kr/XML/weather/sfc_web_map.xml 에 접속하면 내려오는 데이터 입니다.ㅎ 요녀석을 파싱해 봅시다~! 일단 새로운 테이블 뷰 컨트롤러를 만들어 줍니다. New File.... 더보기
iOS개발하기 #39. UISearchDisplayController(5) <UIImage, UITableView Section Header> 오늘의 주제 1. 이미지 웹에서 로딩하기 2. 테이블 뷰 섹션 이름 넣기 서른 아홉번째 시간입니다.^^ 지난 번에는 스레드 관리와 네트워크 상태 감지까지 해 보았습니다. 잘 실행 되시나요? 혹여나 부족한 부분이 있다면 꼭 댓글주세요~! 오늘은 이미지를 웹에서 로딩해서 테이블 뷰에 넣어주고, 테이블 뷰에 섹션 이름 넣는 것 까지 해보려 합니다. 우리가 이미 만들어 놓은 것들이 많으니 소스를 조금만 추가하면 될거예요~ 자~! 출발! # 웹 이미지 로드 우리는 지난 번에 item을 불러올 때 책 이미지에 대한 URL을 함께 받아왔습니다. 네, 이렇게 서버에서 정보가 내려올 때, 이미지 데이터를 직접 보내주지 않고 이미지의 주소를 보내줍니다. 혹여 이미지가 필요하면 받아가라~ 그런 뜻이겠죠 ㅎ 그래서 이미지를 .. 더보기
iOS 시뮬레이터 언어 변경 오늘은 시뮬레이터에서 언어를 변경 하는 방법에 대해 알아봅니다. 로컬라이제이션을 마친 후 테스트를 할 때 언어별로 테스트 해보고 싶을 때 유용하겠죠?ㅎ 저를 사랑한다고 해주신 '남자'분 지호님께서 요청하셨습니다... ^^ 시뮬레이터 설정(Settings)에 들어갑니다. General(일반) 클릭 International(다국어) 클릭 Language(언어)클릭하여 원하는 언어 선택 키보드 추가가 필요하다면 Keyboards(키보드) 클릭 Add New Keyboard...(새로운 키보드 추가...) 클릭! 해서 원하는 언어의 키보드 추가~ 요로코롬 하시믄 됩니다 ^^* ↓↓↓도움이 되었다면 손가락 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 사랑합니다~ ↓↓↓ 더보기
네트워크 상태 체크하기 오늘은 네트워크 상태 체크하는 방법에 대해 간략하게 소개합니다~ 네트워크 상태 체크하는 API는 따로 없지만 애플에서 공식적으로 클래스를 제공해 주고 있습니다~ # '나는 고수다' 하시는 분들은 1. Reachability Link 를 들어가서 샘플코드를 다운로드 받은 후에 Classes 폴더 내부의 Reachability 헤더와 구현파일을 자신의 프로젝트로 가져온다. 2. Systemconfiguration.framework를 추가한다. 3. 사용을 원하는 곳에 Reachability.h 를 임포트하여 사용한다. 4. 간략한 소스를 원한다면 Classes 폴더 내의 AppDelegate 구현파일을 참고한다. 5. 만약 Reachability를 넣고 링크 에러가 난다면 글 맨 아래를 참고한다. # 위의 .. 더보기
iOS개발하기 #38. UISearchDisplayController(4) <NSThread, Reachability> 오늘의 주제 1. Thread 중지하기 2. 네트워크 상태 체크 서른 여덟번째 시간입니다.^^ 그 전에 오늘은 현충일이네요! 나라를 위하여 목숨을 내던진 우리 선조님들에게 경의를 표합니다. 진심으로 고맙습니다. 지난 번에 테이블에 파싱 결과를 뿌려주는 것을 해 보았는데요, 코드에 결점을 발견하게 되어 수정사항과 보강사항에 대하여 포스팅 합니다. 이렇게 자꾸 예외상황에 대해 코드를 추가 해 주고, 실수 한 부분에 대해서는 다시 작업을 해 주어야 겠지요..ㅋㅋㅋ 이 또한 프로젝트를 진행하는 묘미 아니겠습니까..ㅋㅋㅋ 여하튼 한 발 늦춰 가더라도 틀린 부분을 다시 짚고 넘어가기 위해 포스팅 하므로, 급한 마음 조금만 누그러뜨리시고 봐주시기 바랍니다~ 자, 그럼 가봅시다~! # Thread 중지(취소)하기 일단.. 더보기
누를 때 마다 이미지 바뀌는 버튼 (체크박스 버튼) '아퐁'님의 요청으로 만들어 보았습니다~ 버튼을 누를 때 마다 이미지가 바뀌도록 설명해 달라고 하셔서 해 봅니다. 일단 추천 한방 어떠세요 ㅋㅋ 시작! 화면에 버튼을 올리고 액션을 연결해 줍니다. 그리고 버튼에 사용할 이미지를 프로젝트에 추가해 주고, 버튼 이미지를 눌리지 않은 상태로 변경해 줍니다. 그리고 요로코롬 깔쌈하게 메소드를 코드로 채워주면 끝~! 잘 되나 확인해 볼까요?ㅎ 굿 웍~! ↓↓↓도움이 되었다면 추천 한방 꾹 눌러주고 가시는 건 어떨까요? ^~^ 고맙습니다~ ↓↓↓ 더보기
iOS개발하기 #37. UISearchDisplayController(3) <UITableView, UITableDataSource> 오늘의 주제 1. 테이블 뷰에 파싱결과 뿌리기 서른 일곱 번째 시간입니다.^^ 지난 번에는 웹에 자료를 요청하고 JSON으로 결과를 받아 파싱하는 과정까지 해 보았습니다. 잘 실행 되셨나요? 계속해서 코드의 양이 늘어나고 어려워 지고 있습니다 +_+ 코드의 양도 많고 해야 할 것도, 처리해 줘야 할 것들도 많기 때문에 코드에 일일히 설명을 자세히 달기가 더 어려워지고 있습니다 ㅠ_ㅠ 여러분께서 부족한 부분은 질문을 주셔서 채워주셔야 합니다~! 그럼 오늘 또 차근차근 스텝을 밟아 나가 볼까요?ㅎ 렛츠고~~~~~~~~~ # 테이블뷰에 결과 띄워주기 자, 파싱된 결과를 활용해 주어야 하기 때문에 적절히 딕셔너리와 배열 포인터를 헤더에 선언해 줍니다. 변수를 만들어 줬으면 초기화와 마무리는 꼭 해주어야 하는거 .. 더보기
iOS개발하기 #36. UISearchDisplayController(2) <UISearchBar, NSThread, JSON, NSRequest> 오늘의 주제 1. UISearchBarDelegate 2. Daum Open API 3. NSThread 4. JSON parsing (JSONSerialization) 서른 여섯 번째 시간입니다.^^ 지난 번에는 계속 포스팅을 위해 이것저것 준비를 해 두었지요? 지난 번 포스팅에 계속 이어지는 포스팅 입니다~ 2012/05/30 - [iOS Dev/함께해보기] - iOS개발하기 #35. UISearchDisplayController(1) 오늘은 스레드와 리퀘스트 그리고 JSON 파싱에 대해 중점적으로 진행해 봅니다. 자~ 출발합니다~! # UISearchBar 일단, 검색바에 검색어를 입력하였을 때, 그리고 검색 버튼은 눌렀을 때 검색을 시작하려고 합니다. 그래서 검색바 델리게이트 레퍼런스로 와서 그에.. 더보기
iOS개발하기 #35. UISearchDisplayController(1) <UISearchBar, UITableView> 오늘의 주제 1. UISearchDisplayController 서른 다섯 번째 시간입니다.^^ 지난 번에까지는 객체간의 데이터 전달에 대해 알아보았습니다. 잘 알아두셔야 할 부분들일 거예요 ㅎ 오늘 부터 시작할 포스팅은 꽤나 길게 이어질 것 같습니다. 여러분께서 원하던 기능들을 많이 많이 해볼거거든요..ㅎ 제목은 UISearchDisplayController 지만 이 안에는 엄청나게 많은 내용들을 담게 될 것입니다. 요 녀석에 많은 것을 활용 해 볼 수 있는 요소들이 있거든요 ㅎ 자 일단 결론부터 말씀을 드리자면 검색결과 컨트롤러 다루기 테이블뷰 다루기 검색바 다루기 스레드 다루기 URL Request 전송 JSON 파싱 XML 파싱 여러분들께서 궁금해 할 만한 내용들을 대폭 담아 볼 예정입니다. 원래.. 더보기
#pragma mark - 소스코드 이쁘게 관리하기 개발하다가 소스코드가 길어지고 지저분해 지다보면 어떤 메소드가 어디에 있는지 찾아가기 굉장히 불편해지고 가독성이 떨어지게 됩니다. 그래서 소스코드를 약간 이쁘게 정리해 둘 필요가 있습니다. 습관을 들여놓으면 아주 좋아요 ㅎ #pragma mark 요녀석을 사용하면 좋은데요~ 한 번 보여드릴게요~ 코드 오른쪽 상단에 보면 바로갈 수 있는 네비게이터가 있는데요 한 번 클릭해 보시면 구현되어있는 변수들과 메소드들이 쭈욱 나열될 거예요. 그런데 영역별로 마크를 남겨주면 알아서 보기 좋게 정리해 줍니다~ 이렇게 이쁘게 깔끔하게 말이죵~ㅎㅎ 정리 되어있지 않았을 때입니다. 소스코드 정말 얼마 되지도 않는 컨트롤러인데도 자신이 원하는 메소드 한 번에 찾아가기 거의 불가능 하다고 봐야겠죠^^; 요로코롬 유용한 녀석이 .. 더보기
iOS개발하기 #34. NSNotificationCenter (노티피케이션센터) 오늘의 주제 1. NSNotificationCenter 서른 네 번째 시간입니다.^^ 지난 번에는 델리게이트 프로토콜을 이용하여 데이터를 주고 받는 것을 해 보았습니다. 어떤가요 흥미로우신가요?ㅎ 프로토콜을 사용하여 통신하는 방법도 있지만, iOS에서는 또하나의 흥미로운 기능을 제공합니다. 바로 노티피케이션 센터라는 녀석인데요, 우리가 푸쉬 알림 받는 그 노티피케이션이 아닙니다 ㅎㅎ 그럼 일단 한 번 시작해 보도록 하겠습니다. 그 전에 딕셔너리에 대한 이해가 조금 필요로 합니다. 2012/04/20 - [Objective-C] - Objective C . 딕셔너리, 배열 ( NSDictionary, NSArray ) 자 떠나볼까요?ㅎ 고고씽~~~~~~~~~~~~ # NSNotificationCenter?.. 더보기
iOS개발하기 #33. Protocol, Delegate (프로토콜, 델리게이트) 오늘의 주제 1. Protocol 2. Delegate 만들어 보기 서른 세 번째 시간입니다.^^ 지난 번에는 유저의 응답을 받아 볼 수 있는 피커뷰에 대해 알아보았습니다~ 이번에는 프로토콜이라는 것에 대하여 알아보도록 할게요~ 잘만 사용하면 좋은 녀석입니다 ㅎ 스따뚜~~~~~~~~~~~~ # Protocol이란? 네트워크에서 프로토콜이라 함은 일종의 통신규약을 말하는데요, Objective-C에서는 약간 다른 의미로 사용됩니다. 음... 뭐 굳이 말하자면 클래스간의 통신 규약이라고도 말할 수 있겠네요 ㅎ 프로토콜은 일정한 메소드를 통하여 클래스 간에 통신을 할 수 있는 통로를 제공합니다. 어떠한 객체에서 다른 객체로 데이터나 메세지를 전달하고 싶을 때 사용할 수 있습니다. 말로는 잘 느낌이 안오시죠?ㅎ.. 더보기
C <20>. enum 오늘의 주제 1. enum 벌써 스무 번째 시간입니다.^^ 지난 번에 연결리스트에 대해 알아보았는데요 ㅎ 어려우셨죠? 요번에는 잠시 쉬어갈 겸 간단한 녀석 하나 들고 왔습니다~ 이런 녀석도 있구나~ 알고 가시면 될 듯 합니다. 자 그럼 상쾌한 기분으로 출발 해 볼까요? 고고씽~~~~~~~~~~~~ # enum 지난 번에 전처리자를 이야기 하면서 enum에 대하여 스치듯이 이야기 해 드린 것 같은데요 그때 소개해 드리지 못해 이번에 소개해 드리려 합니다. enum은 상수 세트를 선언 해 줄 수 있습니다. 주로 어떤 상수 Flag를 지정해 줄 때 사용하게 되는데요, 그게 무슨 뜻이냐 하면 내가 프로그램 안에서의 약속을 상태1 == 0 상태2 == 1 상태3 == 2 으로 표현 간단히 해 주고 싶을 때 사용하.. 더보기
iOS개발하기 #32. 피커뷰(UIPickerView) 오늘의 주제 1. UIPickerView 2. UIPickerViewDelegate 서른 두번째 시간입니다.^^ 지난 번에는 뺑글이를 돌려보셨겠지요?ㅎ 오늘은 사용자의 입력받기를 해 볼까 합니다~ 그 중에 하나로 피커뷰를 해 볼게요~ 그 전에 이제껏 우리가 사용했지만 제대로 알지 못했던 NSArray에 대해 조금 알아보고 오시면 좋겠습니다. Objective-C 카테고리에 포스팅이 되어있어요^^* 2012/04/20 - [Objective-C] - Objective C . 딕셔너리, 배열 ( NSDictionary, NSArray ) 자, 다 보셨으면 출발 해 볼까요?ㅎ 스따뚜~~~~~~~~~~~~ 전에 추천 한 방 어떠세요?ㅎ 저에게 큰 힘이 됩니다~^^* # 피커뷰란? 피커뷰에는 크게 두 가지 종류가.. 더보기
C <18>. 연결리스트 (Linked list) - 자료구조(1) 오늘의 주제 1. 연결 리스트 (Linked list) 열 여덟 번째 시간입니다.^^ 지난 번에 동적 할당에 대하여 알아보았습니다~ 오늘은 동적 할당과 구조체를 알고 계셔야 이해할 수 있습니다.ㅎ 2012/05/16 - [C] - C . 구조체 2012/05/18 - [C] - C . 동적할당 자. 오늘 내용은 난이도가 쪼깨 있습니다~ 처음 보시는 분들은 다섯 번은 봐야 이해가 될랑 말랑 하실거예요..ㅎㅎ 물론 C의 문법은 아닙니다만(사실 C의 중요한 문법은 거의 끝났다고 봐야겠죠?), 자료구조 공부하심에 있어서 도움이 되실거예요~ 정말 중요한 것이니 몇 번을 보고, 다른 싸이트를 검색하고, 직접 계속 둘러보면서 꼭 몸으로 익히도록 하세요~! 자 험난한 여정을 함께 즐겨 볼까요?ㅎ 스따뚜~~~~~~~~~.. 더보기