2017-01-24 3 views
1

현재 API를 통해 실행되는 Xcode 8/Swift 3의 응용 프로그램에서 작업하고 있습니다. 본질적으로, 나는 현재 MySQL 데이터베이스에서 SwiftyJSON을 사용하여 정보를 파싱하고있다.Xcode 8/Swift 3 : API 정보를 오프라인에서 사용할 수있게 하시겠습니까?

콘텐츠를 오프라인에서도 사용할 수 있도록 데이터를 다운로드하여 휴대 전화에 저장하여 오프라인 모드에서 사용할 수있는 기능을 소개하고자합니다.

전적으로 궁금한 점이 있지만이 JSON 정보를 오프라인에서 사용할 수 있도록 올바른 방향으로 알려줄 수 있습니까? 나는 성공없이 그물을 찾으려고 노력했다.

+0

이 경우 sqlite/coredata를 사용하여 모든 속성을 가진 테이블을 생성 한 다음 몇 가지 사항을 확인해야합니다. 1. 스키마 생성 2. 삽입 3. 이전 데이터 처리 4. 서비스 당 스키마 변경 (대부분의 경우) 그것은 그렇게 열립니다 옵션을 열어) 5. 속성 초기화에 대한 모델 클래스를 만듭니다. 오프라인 데이터에 제 3자를 사용하는 것과 비교하여 앱을 완전히 제어하는 ​​방법은 시간이 걸릴 것이라는 것을 알고 있습니다. 내 전자 상거래 응용 프로그램에서 잘 작동하고 있습니다. –

답변

1

나는 그것이 스위프트가 아니라는 것을 알고 있지만, 이것의 절대적인 주인은 최근 그의 마스터 피스를 열었다 : Dash for iOS. 애플보다 다른 누구보다이 지역에서 (틀림없이) 더 많은 경험 가진 사람에 의해 수행으로 그는 빠른 스크롤을 얻을 끝났다 및 검색 가장이 작업을 수행하는 방법에 대한 몇 가지 깊은 통찰력을 줄 수있는 어떤 검토

:

https://github.com/Kapeli/Dash-iOS

0

나는 두 옵션 중 하나를 내가 1.SQLite DB 또는 2 NSURLCache와 함께 갈 것입니다 여기 선호

SQLite는 DB를 들어 당신은이 링크를 확인 FMDB가 NSURLCache를 들어 https://github.com/ccgus/fmdb

을 wrapper- 사용할 수 있습니다 Best way to Cache JSON from API in SWIFT?

json을 저장하려면 오프라인 모드로 NSURLCache를 사용하십시오.

+0

FMDB에 대한 신속한 대안 (Swift에서 이상하게 느껴짐) : http://github.com/groue/GRDB.swift (응용 프로그램 툴킷) 또는 http : // github. co.kr/stephencelis/SQLite.swift (library) –

0

iOS 용 오프라인 달성에는 CoreData와 SQLITE라는 두 가지 최상의 경로가 있습니다. CoreData의 정의에 따르면 프로젝트의 Model 레이어라고합니다. 그것은 개발자 측면에서 적은 노력으로 제공됩니다. 비트 대비 SQLITE는 같은 방법이지만 거의 노력하지 않습니다.

내 프로젝트에서는 오프라인 유지 관리를 위해 CoreData를 사용하고 있습니다. 실제로 Relational 데이터 가져 오기에 대한 몇 가지 우려 사항이 있습니다. 동일한 부분에 대해 CoreData를 나타내는 Predicates가 있지만 일부 부분으로 제한됩니다. 이러한 유형의 상황 SQLITE는 실제로 생명의 은인입니다. 간단한 JOIN 명령으로 레코드를 쉽게 가져올 수 있습니다.

결론 :
당신이 SQLite는 함께 갈 정말 좋습니다 더 복잡한 데이터 관계가있는 경우, 별도로 CoreData에서 최고의 선택입니다.

관련 문제