이번에는 CoreData를 이용하는 간단한 샘플을 만들어 보겠습니다. 이전에 Xcode 2.*대에서 이와 비슷한 어플리케이션을 만드는 "간단한 ToDo 어플리케이션 만들기"란 포스팅을 한적이 있습니다. 소스코드에 추가 없이 마우스 클릭만으로 간단히 만드는 예제였는데 Xcode 3에서는 그 마우스 클릭도 최소한으로 줄이고 자동화여, 누구나 쉽게 간단한 어플리케이션을 만들 수 있습니다.

Core Data에 대한 자세한 내용은 아래의  ADC 문서들을 참조하시기 바랍니다.



1. 프로젝트 생성
Xcode를 실행하고 새로운 프로젝트를 생성하기 위해 메뉴에서 File / New Project.. 를 클릭합니다. 아래와 같이 Mac OS X / Application 항목에서 Core Data Document-based Application을 선택하고 Choose...를 클릭합니다.
프로젝트명에 'BookList'를 입력하고 save 버튼을 클릭하여 완료합니다.


2.  Data Model
1) Data Modeling tool
좌측과 같이 Xcode의 Groups & Files아래에 BookList / Models에서 MyDocument.xcdatamodel을 더블클릭합니다.

아래와 같은 데이터 모델링 툴이 오픈됩니다.
2) Entity 추가
위의 이미지에서 붉은색 화살표가 가르키는 Entity 항목 하단의 + 버튼을 클릭하여 새로운 Entity를 추가합니다. 생성된 항목을 더블클릭하거나 우측의 설정창에서 Name: 항목의 입력창을 이용하여 아래와 같이 'Books'로 이름을 변경합니다.


3) Attribute 설정
* 추가
이제 Books에 속성(Attribute)를 추가합니다. Property창 하단의 + 버튼을 클릭하여 나오는 항목중 Add Attrribute를 클릭합니다. 2번 더 반복하여 3개의 속성을 생성합니다.

* 설정
속성들의 이름을 각각 titile, writer, press로 입력하고 아래와 같이 항목들을 설정합니다.




3. 인터페이스 빌더
Xcode에서 MyDocument.xib를 더블클릭하여 인터페이스 빌더를 오픈합니다. 먼저 윈도우에 기본으로 생성되어 있는 "Your document contetents here'  라벨을 삭제합니다.

그리고 라이브러리 윈도우의 Cocoa / Objects & Controllers / Core Data 항목에서 좌측과 같은 Core Data Entity를 드래그하여 윈도우로 가져다 놓습니다.



1) Core Data Entity 생성
윈도우로 드래그를 완료하면 설장창이 오픈됩니다. 아래와 같이 entity를 Books로 선택하고 Next 버튼을 클릭하고 각 단계별로 아래와 같이 진행합니다.
2) 윈도우 크기 조절
생성된 항목에 맞추어 아래와 같이 윈도우의 크기를 적당히 조절합니다.

4. Build & Test
현재까지의 작업만으로 기본적인 동작을 수행할 수 있는 작업이 완료되었습니다. 이제 빌드를 하고 어플리케이션을 실행하여 테스트 합니다.
어플리케이션이 실행되면 등록, 변경, 삭제, 검색 등과 파일 저장/오픈이 동작하는지 확인합니다.


'Xcode 3 > 튜토리얼' 카테고리의 다른 글

2. 간단한 Core Data 예제  (9) 2008.10.05
1. Xcode3 첫 어플리케이션  (17) 2008.09.26
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. 달룟 2008.10.06 01:46  댓글주소  수정/삭제  댓글쓰기

    dataq는 오타지요? 설명 대로 따라하니까 쉽네요.

  2. Favicon of http://sukwoo.blogspot.com BlogIcon 장림 2008.10.08 16:32  댓글주소  수정/삭제  댓글쓰기

    실행하면 Stop Executable 발생합니다.
    BookList
    Project:"BookList.xcodeproj" Target:"BookList"

    그런데 프로그램은 정상적으로 동작하는군요.

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2008.10.08 17:20 신고  댓글주소  수정/삭제

      아.. 그런가요? 저는 그런 로그를 못 보았습니다. 제가 작업한 파일을 올려보았습니다. 혹시 뭔가 잘 못되었는지 잘 모르겠네요. ^^;;

  3. Favicon of http://sukwoo.blogspot.com BlogIcon 장림 2008.10.08 20:03  댓글주소  수정/삭제  댓글쓰기

    올려주신 파일은 잘 동작합니다.
    제가 잘못했나봅니다. 감사합니다.

  4. ttkaka 2010.01.09 23:06  댓글주소  수정/삭제  댓글쓰기

    core data를 찾아보다가 이곳까지 왔네요. 잘봤습니다.

    위의 예제를 보니 core data를 미리 만들수 있겠군요.
    그런데 위의 예제에서 입력해서 만든 데이터 파일을 어디에 어떤파일로 저장되는지요.
    그 파일을 따로 저장해서 다른 어플에서 읽어오게 하려고 하는데 가능할지 모르겠네요.
    sqlite같은 경우 데이터를 만들 수 있는 도구가 있던데 core data는 없나보죠.

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2010.01.11 16:06 신고  댓글주소  수정/삭제

      데이터 파일은 사용자가 저장 다이알로그박스에서 지정된 폴더와 이름으로 저장됩니다. 어플리케이션간에 공유는 가능할 것 같습니다. 위의 방법보다는 직접 코드를 생성하여 만드시는게 더 편할 것 같고요. 저도 잘 몰라서 명확한 답변을 드릴 수가 없어 죄송합니다.

  5. iamwhatiam 2010.10.07 09:40  댓글주소  수정/삭제  댓글쓰기

    10.6에서는 다소 바뀐 부분이 있어서 첫 시작부터 헤깔리긴 했지만... 덕분에 잘 배웠습니다.
    다음번에는 혹시... MySql이나... Oracle에 연동되는 Data관련 강좌를 부탁드려도 될까요?