오늘의 주제

1. XML 파싱을 위한 준비
2. 커스텀 테이블뷰 셀 만들기



마흔 번째 시간입니다.^^ ( *_* 벌써!!??? )

지난 번까지는 JSON 으로 내려온 데이터를 파싱해 보았습니다.
이번에는 XML을 파싱하는 방법에 대해 알아보도록 하겠습니다.
기상청에서 내려주는 날씨데이터를 가지고 파싱을 해 보도록 할거예요.
오늘은 파싱을 위한 커스텀 테이블 준비를 해 볼게요~

가봅시다~~~~~~~~~~~ ^0^


# 파싱을 위한 테이블 뷰 준비

우리가 파싱해 볼 기상청의 데이터 입니다.
http://www.kma.go.kr/XML/weather/sfc_web_map.xml
에 접속하면 내려오는 데이터 입니다.ㅎ
요녀석을 파싱해 봅시다~!


일단 새로운 테이블 뷰 컨트롤러를 만들어 줍니다.
New File...


UITableViewController 의 서브클래스로 만들어 주시구요~


그리고 루트 뷰 컨트롤러 (ViewController)에서 버튼을 만들어주고 액션을 연결해 줍니다.



그리고 헤더파일을 임포트 해주시고~


버튼 메소드에 적절히 테이블뷰 컨트롤러를 모달로 띄워줍니다~


# 커스텀 테이블 셀 만들기
그리고 이제 날씨 테이블을 위한 커스텀 셀을 만들어 보겠습니다~
New File...


iOS - User Interface - Empty를 선택해 줍니다


기기 패밀리는 아이폰~


이름은 요렇게~!

 

자 이렇게 xib파일이 만들어지면 Table View Cell을 하나 끌어오시고
크기를 가로 320px, 세로 80px로 설정해줍니다.



그리고 이미지뷰를 올려줍니다.
크기를 60*60, 위치 10,10으로 변경해주시구요~


그리고 태그를 10으로 설정해 줍니다. 나중에 태그로 이 이미지뷰의 포인터 값을 가져오기 위함이예요. 즉, 아울렛을 연결해서 변수로 만들어 주지 않더라도 코드상에서 태그를 가지고 이 객체를 불러올 수 있게 됩니다.


그리고 라벨을 넣어주고 태그를 지정해주시구요~


또 라벨을 넣고 태그를 넣어줍니다 ㅋㅋㅋ


그리고 또!!!!!!!!ㅋㅋㅋ


자, 이제 구현파일 .m으로 와서 태그를 해줬던 것을 사용하기 편하게 하기 위하여 enum을 하나 선언해 주시구요.


viewDidLoad 메소드에서 테이블의 가로 행 높이를 80으로 변경해 줍니다.
그리고 테이블 뷰 데이터 소스에 코딩을 이쁘게 해 줍니다.


자, 그리고 실행하면!?



네~ 아무것도 안나오죠 ㅋㅋㅋ
당연히 이미지뷰나 라벨에 아무것도 넣어주지 않았으니까요 ㅋㅋ
일단 오늘은 준비만 해둔거예요~

다음 번에 본격적으로 파싱해서 테이블에 데이터를 넣어볼게요~


by yagom

twitter : @yagomsoft

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.

RSS Feed 받기   


↓↓↓저 열심히 썼는데 추천 한방 꾹 눌러주고 가시는 건 어떨까요? 로그인이 필요 없습니다. ^~^ 고맙습니다~ ↓↓↓ 





Posted by yagom

댓글을 달아 주세요

  1. 생초보 2012.06.11 14:11  댓글주소  수정/삭제  댓글쓰기

    아흠흠 감사합니다 눈물이 앞을가리네요 ㅜㅜ

    • Favicon of https://blog.yagom.net BlogIcon yagom 2012.06.11 15:45 신고  댓글주소  수정/삭제

      ^^*
      도움이 되셨으면 하는 바람입니다...^^
      그나저나 NSXMLParser가 아니라 다른 녀석을 사용했는데, TBXML을 사용하였습니다. 수요일날 본문 포스트 예정입니다..^^

  2. 인절미후후 2012.06.25 21:00  댓글주소  수정/삭제  댓글쓰기

    간만에 뵙는거 같네요~
    지금은 안드로이드 작업 하느라 엑스코드 킬 여유가 없네요~
    잠깐 틈나서 1부터 다시 해보고 있습니다.
    볼수록 새로운 기분은 참 ㅎㅎ
    좋은글에 댓글이 적은게 아쉬워서 글 남깁니다 감사합니다~

    • Favicon of https://blog.yagom.net BlogIcon yagom 2012.06.26 09:58 신고  댓글주소  수정/삭제

      안녕하세요 인절미후후님~
      오랜만에 뵙네요 :-)
      저도 항상 뭐든간 볼 때 마다 새롭습니다...ㅎㅎ
      이렇게 덧글도 남겨주시고 항상 정말 고맙습니다.
      얼른 안드로이드 마치고 돌아오세용 ~_~

  3. 나에게넌 2012.08.14 11:51  댓글주소  수정/삭제  댓글쓰기

    커스텀셀 준비 과정..사뿐히 즈려 밟고 갑니다..

  4. Favicon of http://blog.naver.com/evanecen BlogIcon 커피홀릭 2012.08.30 14:36  댓글주소  수정/삭제  댓글쓰기

    처음에 아무것도 모를 때 야곰님 포스트보고 많이 이해했었는데
    xml파싱할 일이 있어서 검색하다가 또 도움받고 가네요 ㅎㅎ

    요기 나와있는 방법대로 해봐야겠어요~
    정말 감사합니다 ~ㅎㅎ

  5. asrada 2012.12.08 13:29  댓글주소  수정/삭제  댓글쓰기

    야곰님~!!
    저 정성이 느껴지는 스샷 잘 보고 배워갑니다
    차근차근 따라하니깐 진짜 잘되네요~신기하게도ㅎㅎㅎ

    근데 하다가 좀 막히는 부분이 있어서 여쭤볼게요
    xib 파일 만들어서 위의 방법처럼 셀을 커스텀해서 테이블 뷰에 띄우고
    여기에 switch를 추가해서 Switch 값이 변할때마다 작동하는 메소드까지는 잘 만들었는데요

    문제는 저 메소드 안에서 하고싶은 동작이 특정 셀을 보여줬다 안보여줬다하는 것인데 도통 어떻게해야할지 모르겠네요ㅠㅠ

    질문이 무지하지만 한수 가르침 부탁드립니다 ( __) 굽신굽신

    • Favicon of https://blog.yagom.net BlogIcon yagom 2012.12.09 12:16 신고  댓글주소  수정/삭제

      흠... 그렇다면 테이블뷰 델리게이트 중에 heightForRow였나... +_+

      그 메소드가 있는데, 그 값을 0으로 넣어주면 안보이게 되지 않을까요?ㅎ

  6. 잉여 2013.12.02 20:18  댓글주소  수정/삭제  댓글쓰기

    감사합니다 정말 간단하게 xml 파싱 성공하였네요

  7. 베어러블 2013.12.20 21:09  댓글주소  수정/삭제  댓글쓰기

    yagom님 제가 버스 어플을 개발하려고 하는데,, 버스앱 보면 노선번호 목록 보여준 다음에 원하는 노선을 테이블 뷰에서 클릭

    하게 되면 다음화면 넘어가면서 그 노선에 관한 정보들이 뜨잖아요?? 그 때 노선번호를 다음화면에 넘겨줘야 하는데,,

    어떤 방법을 써야 쉽게 할 수 있을까요 포스팅한 블로그들 다 뒤져 보면서 노티피케이션도 해보고 프로토콜도 해보고 했는데

    예제를 변형해서 하려고 해서 그런지 어렵고 잘 안되네요ㅠㅠ 좀 도와주시겠어요?

    • Favicon of https://blog.yagom.net BlogIcon yagom 2013.12.22 00:43 신고  댓글주소  수정/삭제

      음... 뷰컨트롤러 생성 메소드에다가 뒤에 인자 하나를 더 넣어서 메소드를 만들어 주면, init 할 때 원하는 인자를 넘겨줄 수 있어요. 이 방법으로 하시면 좋을 것 같아요. 말로 설명하니까 처음에 잘 이해가 안되실 수 있는데, 뷰 컨트롤러를 하나 만드시고 구현파일에서 initWithNib 메소드를 노려보시면 제가 무엇을 말했는지 눈치를 채실 수도 있을거예요..ㅎㅎ

    • 베어러블 2013.12.22 22:52  댓글주소  수정/삭제

      오오오 대박 멋진 생각이네요 ! 월요일에 한번 해봐야겠어요,ㅎ,ㅎ 감사해요