본문 바로가기

ios개발

iOS개발하기 #51. 실전 프로젝트. 간단한 계산기와 메모장(2) 오늘의 주제 1. 계산기 기능 넣기 2. 메모장 화면 구성 바꾸기 쉰 한 번째 시간입니다.^^ 지난 번에 만들어 놓은 계산기 아직 잘 갖고 계신가요?ㅎㅎㅎ 이제 계산기 로직을 완성해 볼 차례입니다. 아............. 지금 제가 글을 쓰고 있는 이 시간은 아직 훈련소에 가기 전이지만, 전 지금 훈련소에서 뒹굴고 있겠군요 ㅋㅋㅋㅋㅋㅋㅋㅋ 뭐, 응원의 한마디...는 볼 수 없겠지만 무탈히 돌아오도록 기도해주세요 ㅋㅋㅋㅋㅋ 2일 전인데 한달이라도 막상 가려니까 싱숭생숭 하네요 ㅋㅋㅋ 아마 들어가기 전까지도 계속 블로그 포스팅 예약을 하다 갈거 같은..ㅋㅋㅋㅋㅋㅋㅋㅋ 뭐 여튼 사설은 각설하고 시작해 봅니다~~~~~~~~~~~~~ # 계산기 기능 완성하기 일단, 지난번에 구현파일에 만들어 주었던 enum을.. 더보기
Xcode에서 Storyboard파일이 xml문서로 나올 때 오늘의 Tip 1. 스토리보드가 xml로 나올 때 스토리보드 화면으로 나오도록 열기 # 스토리보드야 나와줘!!! 으히히, 가끔 스토리보드 기반으로 작업하다보면 xCode가 멍때리는지 스토리보드가 아닌 xml문서로 열리는 경우가 가끔 생깁니다. 아래 화면처럼요. 자, 그럼 스토리보드로 열어 봅시다. 이렇게요 ㅎㅎ .storyboard파일에서 우클릭 또는 ctrl 클릭 하면 팝업메뉴가 나오죠. 거기서 Open As - Interface Builder를 선택해 줍니다. 짜잔~~~~~~~~~~~~~~~~~ 초간단 팁 끝~~~~~~~~~ by yagom facebook : http://fb.yagom.net twitter : http://twitter.yagom.net ( @yagomsoft ) p.s 제 포스팅.. 더보기
iOS개발하기 #50. 실전 프로젝트. 간단한 계산기와 메모장(1) 오늘의 주제 1. 실전 프로젝트 생성 벌써 쉰 번째 시간입니다.^^ 많이도 써왔나 보네요...ㅎㅎ 벌써 오십번 째 글이라니 +_+ 이거 한 편 쓰는데 시간이 얼마나 오래걸리는지 여러분들을 모르실거예요..ㅋㅋㅋㅋㅋㅋㅋ 이제 실전 프로젝트(?) 라고 하기는 좀 그렇지만 예제 앱을 하나 만들어 볼까해요. 물론 저는 디자인을 하지 못하기 때문에 그냥 있는 그대로의 녀석들을 쓰겠지만 말예요..ㅎㅎ 간단한 계산기랑 메모장(?) 정도를 만들어 볼까해요. 단순히 감을 익히는데에는 큰 무리가 없을 것이라고 봅니다. 스토리보드를 원하는 분들이 많이 계셔서, 간단한 앱이기도 하니까 스토리보드와 ARC를 사용하여 진행하도록 하겠습니다. iOS5.1 Xcode 4.3.3 기준입니다. 오늘의 간단 결과물입니다. 미리보기 +_+ㅋ.. 더보기
iOS개발하기 #49. 예외처리. @try, @catch, @finally 오늘의 주제 1. 예외처리 마흔 아홉번째 시간입니다.^^ 싱글턴 패턴에 대해서는 조금 익히셨나요? 그 외에도 디자인 패턴이란 것은 많이 존재합니다. 싱글턴 패턴은 아주 간단한 예에 지나지 않습니다. 디자인 패턴에 관심이 생기신다구요? 그렇다면 이제 아주 기초는 벗어나고 있다~ 라고 생각하시면 되겠습니다..ㅎㅎㅎ 물론 제가 말씀드리지 않은 것들은 정말 많지만, 저의 목표는 레퍼런스들을 나열하여 언제든 가져다 쓸 수 있는 것보다는 여러분들이 직접 원리를 알고, 개발문서를 통해 스스로 뭔가를 만들어 낼 수 있는 그런 포스팅이 되길 바라기 때문에 굳이 레퍼런스들을 다 나열하진 않았습니다. 많은 도움이 되셨는지 모르겠습니다. :) 이 기초 포스팅도 이제 막바지를 향해 달려가고 있습니다. 정말 몇 개 쓴거 같지도 .. 더보기
iOS개발하기 #48. 객체 간 자료교환 Singleton (2) 오늘의 주제 1. Singleton 패턴 사용해 보기 마흔 여덟 번째 시간입니다.^^ 지난 번에 이어서 싱글턴 패턴 사용 방법에 대해 알아보도록해요 ㅎ 일단... 뭐... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 지금 여러분들이 이 포스팅을 보고계신 시간이면 저는 논산 훈련소에 있겠네요~ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아이 좋아.............는 개뿔...... 면회 환영합니다..............는 개뿔.........ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 여튼 오늘부터는 한달동안 제가 덧글을 달아드릴 수 없게되었군요...ㅠ_ㅠ 몸 건강히 돌아오겠습니다.ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 한 달 캠프 으쌰~ 자 잡소리 때려치고~ 스따뚜~~~~~~~~~~~~ # 싱글톤 객체 활용 이제 싱글톤 객체를 사용하기 위해, 헤더를 impo.. 더보기
iOS개발하기 #47. 객체 간 자료교환 Singleton (1) 오늘의 주제 1. Singleton Pattern 마흔 일곱 번째 시간입니다.^^ 지난 번에는 파일을 저장하고 로드하는 것을 해 보았습니다. 이번에는 파일에서 로드해 온 자료를 다른 객체들과 공유하여 사용하고 싶을때 사용해 볼만한 방법을 가지고 왔습니다~ 물론 Objective-C에서만 쓰이는 방법이 아니지만, iOS 개발 할 때에도 유용하게 쓰일 수 있는 방법이라 이렇게 또 소개를 해 드립니다. 싱글톤 패턴이라고 흔히 이야기들을 하는데요, 무엇인지 한 번 알아보도록 합니다~ # 싱글톤 패턴이란? 한 프로그램에서 특정한 용도의 객체 하나를 생성해서 공용으로 사용하고 싶을 때 주로 사용하는 방법입니다. 주로 환경설정, 로그인 정보, 유저 정보 등을 한 번 객체에 생성해 두고 여러 객체에서 공유해서 데이터를.. 더보기
iOS개발하기 #46. 파일 입출력. NSFileManager 오늘의 주제 1. 딕셔너리 형태의 객체를 파일로 쓰고 읽기 마흔 여섯 번째 시간입니다.^^ 지난 두 포스팅에서는 모양새를 바꿔보는 것을 해 보았어요~ 사실상 명목이었지 어쨌든 개념적인 요소가 많았지요 ㅎㅎㅎ 이번에는 파일을 읽고 써 보는 시간을 가져보도록해요 ㅎㅎ 매번 어플리케이션이 종료되면 모든것이 다 날아가 버리면 아쉽잖아요. 뭔가 저장하고 다시 가져올 수 있는 방법, 간단한 파일 쓰고 읽기를 해 보도록 합시다~ 자, 그럼 시작해 볼까요?ㅎㅎ # 파일 입출력 자, 우선 오늘도 프로젝트 하나를 만듭니다. 지난 두 프로젝트와는 달리 이 프로젝트는 3개 ~ 4개 포스팅 동안 사용하게 될 것 같네용 호호 늘 그래왔듯이 싱글 뷰 어플리케이션으로 만들어 줍니다 ㅎㅎ 이름은 YGFileManagement 첫 실행.. 더보기
iOS개발하기 #45. UINavigationBar Customize (Category) 오늘의 주제 1. 네비게이션 바 커스터마이징 마흔 다섯번째 시간입니다.^^ 지난 번에는 메소드 재정의(오버라이드)를 활용하여 UIAlertView를 커스터마이징 해 보았습니다~ 어떠셨어요?ㅎ 이쁜 이미지로 커스터마이징 하니까 좀 더 산뜻해 지셨나요?ㅎ 오늘은 네비게이션 바를 커스터마이징 해 보겠습니다~ 잘 응용하면 원하는 이미지나 이쁜 글도 넣을 수 있구요 :) 자 그럼 출발해 볼까요?ㅎ # Navigation Bar Customize 자, 일단 새로운 프로젝트를 만들어 줍니다. Single View Application이구요~ YagomCustomNaviBar라는 이름으로 만들어 주었습니다 ㅎ 그리고 우리는 커스터마이징을 할 때 이번에는 카테고리 라는 녀석을 이용할거예요~ 어쨌든 일단 New File... 더보기
iOS Version Check 오늘의 Tip 1. iOS Version Check # iOS 버전체크하기 가끔 우리는 특정 버전에서 사용할 수 없는 메소드들을 만나게 됩니다. 그럼 지원하지 않는 버전의 기기에서 그 메소드를 호출하면 펑~ 하고 어플리케이션이 죽어버리는 사태가 발생하죠. 그래서 개발문서를 잘 보고 메소드를 사용하여야 합니다. 나도 모르는사이에 펑하고 어플리케이션이 죽어버릴 수 있으니까요 ㅎㅎㅎ 자, 그럼 버전체크하기~ 주석에 달려있듯이 아래 메소드를 사용하여 내가 적어준 버전과 같은지, 그보다 아래인지 위에인지 판단 할 수 있습니다. 자주 필요하다면 아래처럼 App-Prefix.pch 내에 매크로로 정의하여 사용하여도 편리합니다~ by yagom facebook : http://fb.yagom.net twitter : .. 더보기
iOS개발하기 #44. UIAlertView Customize (Override) 오늘의 주제 1. UIAlertView Customize 마흔 네 번째 시간입니다.^^ 정말 오랜만의 포스팅입니다~! 그동안 잘 지내셨나요?ㅎ 정말 무더위가 장난이 아니네용... 동남아 날씨 +_+ 지난 번 공지로 iOS6와 스토리보드로 출발해 보겠다고 말씀드렸는데, 아직 제가 준비가 되지 못한 관계로 오늘도 iOS5로, 스토리보드 없이 진행합니다! 자, 그럼 다시 힘찬 출발을 해 볼까요?ㅎ # UIAlertView 커스터마이징 전에 2012/05/11 - [iOS Dev/함께해보기] - iOS개발하기 #29. 경고창 (UIAlertView) 포스팅에서 AlertView에 대해서 해 보았습니다. 이번엔 요 녀석을 커스터마이징 하는 방법을 살짝 이야기 해볼까 합니다. 물론 제가 오늘 소개해 드리는 방법 외.. 더보기
특정파일 ARC 제외시키기 Tip ARC(Automatic Reference Counting) 프로젝트에서 특정파일 ARC 제외시키기 안녕하세요 야곰입니다.^^ 팁이지만 간만에 포스팅이네요~_~ iOS5가 나온 이후로 ARC가 생겨서 많이들 좋아하셨는데, 다른 오픈소스나 라이브러리 등을 가져다 쓰려면 지난 소스들은 ARC 기준으로 작성되어 있지 않기 때문에 적용하기 난감했던 경우가 많으셨을 겁니다. 그런데 이런 방법으로 하면 간편히 지난 소스들을 다시 사용할 수 있습니다 ㅎㅎㅎ # 본 포스팅은 iOS5.1, Xcode Version 4.3.3 (4E3002) 기준으로 작성되었음을 알려드립니다. # ARC 제외시키기 일단 뭐 ARC 프로젝트가 필요한데 딱히 뭐 쓸만한 놈이 없으니 하나 만들어 봅니다 ㅎㅎㅎ 당연히 Use Automa.. 더보기
애플리케이션 첫 로딩 이미지~! 오늘의 Tip 1. 애플리케이션 실행 시 로딩 이미지 설정하기 2. 이미지 나타났다 없애기 애플리케이션 실행 했을 때 처음에 나오는 로고 이미지 등을 넣는 방법입니다.ㅎ # 실행 시 로딩 이미지 넣기 정말 간단합니다. Default.png 라고 이름을 만들어서 넣으면 알아서 찾습니다.. ^^; 물론 레티나 이미지는 뒤에 @2x 를 붙여주시면 되겠죠?ㅎ 주의할 점은 대소문자를 구분한다는 것입니다. 주의하세요~! ㅎ 그리고 좀 더 로고를 오래 보여주고 싶다면, AppDelegate로 와서 잠깐 정지 시킵니다..ㅎ 여기서는 1.5초를 중지시켜 봤어요~ # 나타났다 사라지는 애니메이션 이미지 뷰를 하나 선언해 주시구요~ 애니메이션을 이렇게 만들어 줍니다...^^ 이 코딩 기법은 블록코딩 기법입니다. 블록코딩 기.. 더보기
iOS개발하기 #43. iOS Application Life Cycle 오늘의 주제 1. iOS 어플리케이션의 생명주기 2. ViewController의 생명주기 마흔 세번째 시간입니다.^^ 요 며칠 제 개인적으로 좀 힘든일도 있고, 빡빡한 프로젝트 일정 때문에 제대로 포스팅을 하지 못했습니다. 흙흙 아직 프로젝트가 마무리 되지는 않았지만 최대한 짬을 내 보도록 하겠습니다..ㅎ 우리 이제까지 정말 쭉쭉 달려왔습니다. 이것저것 해 보면서 많은 것을 맛 봐왔죠...ㅎ 물론 이것 저것 많이 해 보는 것도, 맛을 보고 언제 어디서 어떻게 써야할지 감을 익히는 것도 중요합니다. 그러나 더더욱 중요한 것은 통괄적인 흐름이고 기초죠. 초반에 포스팅 할 때 말씀드렸듯이 아주 기초적인 사항들은 많이 스킵하고 넘어왔습니다. 이번에는 그래서 정말 기초 하나를 같이 알아보고자 합니다. 물론 초보.. 더보기
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을 함께 받아왔습니다. 네, 이렇게 서버에서 정보가 내려올 때, 이미지 데이터를 직접 보내주지 않고 이미지의 주소를 보내줍니다. 혹여 이미지가 필요하면 받아가라~ 그런 뜻이겠죠 ㅎ 그래서 이미지를 .. 더보기