iOS - 데이터 관리

iOS에는 데이터를 저장하고 공유하며 데이터에 액세스하는 데 필요한 광범위한 도구 및 프레임워크 모음이 있습니다. Core Data는 대상체 지향형 Cocoa Touch 응용 프로그램을 위한, 다양한 기능의 데이터 모델링 프레임워크인 반면, SQLite는 하위 수준 관계형 데이터베이스 작업에 안성 맞춤인 데이터베이스입니다. 응용 프로그램은 모든 iOS에서 작동하는 URL 기반 시스템을 사용하여 데이터를 공유할 수 있습니다. 웹 응용 프로그램은 HTML5 데이터 스토리지 API로 클라이언트 측 캐시에 데이터를 유지할 수 있습니다. iOS 응용 프로그램은 주소록의 연락처, 사진 보관함의 사진과 같은 장비의 전역 데이터에도 액세스할 수 있습니다.

Core Data

Core Data는 MVC(모델 뷰 컨트롤러) 패턴에 기반하여 팩터링이 잘 된 Cocoa 응용 프로그램을 빌드하는 데 필요한 유연하면서도 강력한 데이터 모델 프레임워크를 제공합니다. Core Data는 응용 프로그램(크기 무관)에 필요한 데이터 모델 사항을 처리하기 위해 개발된 범용 데이터 관리 솔루션을 제공합니다. 연락처 관리 응용 프로그램의 모든 데이터를 벡터 아트 일러스트레이션 프로그램 위에 무제한으로 빌드할 수 있습니다.

Core Data를 사용하면 그래픽 방식으로 개발한 응용 프로그램의 데이데 모델을 빠르게 정의하고 여러분의 코드를 통해 데이터 모델에 손쉽게 액세스할 수 있습니다. Core Data는 저장, 복원, 취소 및 복귀 등과 같은 일반적인 기능을 다루는 인프라를 제공하므로 응용 프로그램에 혁신적인 기능을 빌드하는 작업을 성공적으로 수행할 수 있습니다. Core Data는 내장된 SQLite 데이터 라이브러리를 사용하므로 별도의 데이터베이스 시스템을 설치하지 않아도 됩니다.

Apple의 그래픽 사용자 인터페이스 편집기인 인터페이스 빌더에는 Core Data 컨트롤러 대상체가 이미 내장되어 있기 때문에, 응용 프로그램의 사용자 인터페이스와 해당 데이터 모델 사이에 상당수의 글루 코드(glue code)를 형성할 필요가 없습니다. SQL 구문도 문제 없습니다. 사용자 동작을 추적하기 위해 로직 트리를 유지할 필요도 없습니다. 새로운 지속성 메커니즘을 생성하지 않아도 됩니다. 응용 프로그램의 사용자 인터페이스를 해당 Core Data 모델에 연결하는 것으로 간단하게 끝납니다.

SQLite

iOS에는 많이 사용되고 있는 SQLite 라이브러리가 포함되어 있습니다. 이 SQLite 라이브러리는 가벼우면서도 강력한 관계형 데이터베이스 엔진으로, 응용 프로그램에 쉽게 포함되는 특성을 지녔습니다. 여러 플랫폼에 걸쳐 셀 수 없을 정도로 많은 응용 프로그램에 사용된 SQLite는 가벼운 내장 SQL 데이터베이스 프로그래밍에 있어 사실상 업계 표준으로 여겨지고 있습니다. 대상체 지향형 Core Data 프레임워크와는 달리, SQLite는 절차적이고 SQL에 중점을 둔 API를 사용하여 데이터 테이블을 직접 처리합니다.

응용 프로그램 간
데이터 공유

iOS는 장비에 설치된 응용 프로그램 간에 정보를 공유할 수 있는 강력한 연결 옵션을 제공합니다. URL 기반 구문을 사용하면 웹에서 데이터에 액세스할 수 있을 뿐만 아니라 설치된 다른 응용 프로그램(예: Mail, iTunes 및 YouTube)에 정보를 전달할 수도 있습니다. 개발한 응용 프로그램은 고유한 URL 체계를 선언할 수 있습니다. 이를 통해 모든 응용 프로그램과 함께 공동 작업을 진행하고 데이터를 공유할 수 있습니다.

연락처 및 사진에
액세스

안전하고 사용하기 쉬운 API를 통해 iPhone의 데이터와 미디어를 응용 프로그램에 사용할 수 있습니다. 이를 통해 응용 프로그램은 새 주소록 연락처를 생성하고 기존 연락처 정보를 가져올 수 있습니다. 마찬가지로, 응용 프로그램은 사진 보관함의 사진을 로드하고, 표시하고, 편집할 수 있을 뿐만 아니라 내장된 카메라를 사용하여 새로운 사진을 찍을 수도 있습니다.

캘린더에 액세스

Event 키트를 사용하면 iOS 응용 프로그램에서 사용자의 캘린더 데이터베이스에 있는 이벤트 정보에 액세스할 수 있습니다. 데이터 범위 또는 고유 식별자에 기반하여 이벤트를 가져오고 이벤트 레코드가 변경되면 알림 메시지를 수신하며 사용자는 해당 캘린더의 이벤트를 생성하고 편집할 수 있습니다. Event 키트를 사용하여 사용자의 캘린더 데이터베이스에 있는 이벤트에 적용한 변경 사항은 CalDAV와 Exchange 서버에 호스팅된 캘린더를 포함하여 해당 캘린더에 자동으로 동기화됩니다.

XML 파일

XML 파일은 응용 프로그램에서 쉽게 읽고 쓸 수 있는 구조화된 가벼운 포맷을 제공합니다. 또한 XML 파일은 iOS 파일 시스템에 손쉽게 적응합니다. 내장된 사용자 기본값 데이터베이스에 응용 프로그램 설정 및 사용자 환경설정을 저장해보세요. 이 XML 기반 데이터 저장소에는 요구 시 복합 대상체를 직렬화하고 복원할 수 있는 기능 등 강력한 기능을 갖춘 간단한 API가 포함되어 있습니다.

Safari의 HTML5
클라이언트 측 스토리지

iOS에 포함된 고급 Safari 브라우저는 최신 HTML5 오프라인 데이터 스토리지 기능을 지원합니다. 오프라인 스토리지는 웹 응용 프로그램이 단순 키/값 데이터 API 또는 한층 발전한 SQL 인터페이스를 사용하여 iPhone 또는 iPod touch 장비의 세션 데이터를 로컬로 캐시에 저장하는 것을 의미합니다. 데이터는 Safari 실행 중에 유지됩니다. 다시 말해서, 응용 프로그램을 보다 빠르게 시작할 수 있게 되었으며, 네트워크에 덜 의존하고, 전보다 성능이 향상되었습니다. Safari 기술 데모 동영상 보기