iOS개발하기 #47. 객체 간 자료교환 Singleton (1)

# 오늘의 주제

1. Singleton Pattern 

마흔 일곱 번째 시간입니다.^^
지난 번에는 파일을 저장하고 로드하는 것을 해 보았습니다.
이번에는 파일에서 로드해 온 자료를 다른 객체들과 공유하여 사용하고 싶을때 사용해 볼만한 방법을 가지고 왔습니다~
물론 Objective-C에서만 쓰이는 방법이 아니지만, iOS 개발 할 때에도 유용하게 쓰일 수 있는 방법이라 이렇게 또 소개를 해 드립니다.
싱글톤 패턴이라고 흔히 이야기들을 하는데요, 무엇인지 한 번 알아보도록 합니다~

## 싱글톤 패턴이란?
한 프로그램에서 특정한 용도의 객체 하나를 생성해서 공용으로 사용하고 싶을 때 주로 사용하는 방법입니다.
주로 환경설정, 로그인 정보, 유저 정보 등을 한 번 객체에 생성해 두고 여러 객체에서 공유해서 데이터를 쓸 수 있는 방법이죠.
즉, 프로그램이 실행되고 끝날 때 까지 특정용도를 가지는 단 하나의 객체를 만들어 놓고 쓰게 되는 것입니다. 물론 임의로 해제해 주지 않는다면요 🙂
말로만 이렇게 떠들어 대니 잘 감이 안오시죠?ㅎㅎㅎ
그런데 일단 static 이라는 녀석에 대해서 조금 알아보실 필요가 있습니다.
static이 어떤 녀석인지 정확히 알고 계신분은 바로 따라오셔도 좋습니다~
모르는 분들은 프로그래밍 언어 기본서에 보면 나와있을거구요, 포털 검색을 통해서도 많이 나올거예요^^
자, 그럼 실습을 시작해 봅니다~
 

## 실습
지난 번에 만들었던 프로젝트를 그대로 사용합니다~
여러 객체간에 데이터를 공유하는 것을 실습해 볼 것이므로, 화면을 옮겨다녀 보는게 효과적일 것 같네요~
뷰 컨트롤러를 하나 더 만들어 줍니다 ㅎ

자, 그리고 이렇게 지난 번에 했던 것 처럼 새로운 뷰 컨트롤러에도 화면을 구성해 줍니다~

자, 이번엔 싱글톤 클래스를 생성하도록 할게요~


NSObject를 상속받는 SingletoneObject라고 이름을 지었어요. 사실 Singleton이 맞는 표현인데, 제가 자꾸 Singletone이라고 쓰네용

자, 이렇게 새로 생성된 클래스의 헤더에 와서요~
이런저런 것들을 작성합니다.
지난번에 파일에서 읽고 쓰기 했던 것들도 여기로 옮겨올 거구요, 공통적으로 쓰고 불러올 NSString 객체 포인터도 하나 만들어 줬구요~ 

자, 헤더에서 property로 던져줬으면 구현파일에서 synthesize로 받아주는거 잊지 않으셨죠?ㅎ
그리고 지난 번에 파일저장 메서드 구현했던 부분에서 복사해와서 붙여넣고 살짝 손봐줍니다 ㅎㅎㅎ

파일에서 불러오기도 마찬가지구요 :~)

자, 그리고 가장 핵심부분!!!
싱글턴 객체를 만들어주는 부분입니다.
static이라는 처음보는 녀석이 등장했죠? 주석으로 간략하게 설명을 써놓긴 했지만, 이해가 힘드시다면 검색을 해 보시는 것을 강력추천합니다 ^^; 

자, 이렇게 싱글톤 클래스까지 완성을 했습니다~
이제 이 녀석을 어떻게 사용하게될지 궁금하지 않으세용?ㅎㅎㅎ
제가 앞으로 어떻게 진행할지 감이 오는 분들도 분명 계실거 같아요 ㅎㅎ
음... 일단 오늘은 여기까지 쓸건데요 ㅎㅎ 한 번 써보고 싶은 분들은 마음껏 써보세요~
컴퓨터 폭발 안합니다~ 
으히히, 여튼 다음에 또 만나용~ 🙂

by yagom
facebook : https://facebook.com/yagompage
twitter : http://twitter.yagom.net ( @yagomsoft )
p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기   


 


댓글 남기기

Close