2014-01-14 3 views
0

Mac에서 데이터를 코어 데이터에 저장하는 여러 가지 앱이 있습니다. CoreDataPro에서 원하는 데이터를 볼 수 있습니다. 나는 그 데이터를 원한다. 특히 Zapier 나 다른 REST 서비스와 같은 원격 엔드 포인트에 변경 사항을 보내고 싶다.원격 REST 엔드 포인트로 코어 데이터 전송

저는 RestKit과 같은 것을 피기 백으로 생각했습니다. 즉, 앱이 어디에 있는지, 그리고 데이터가 전송되어야하는 엔드 포인트를 알려주는 설정 파일을 제공합니다. 데이터를 긁어서 양방향 동기화가 아닌 REST로 보내면됩니다.

Mac 응용 프로그램을 코딩하지 않고 구성 할 수있는 유틸리티를 선호합니다. RestKit 여전히 가장 할 듯하지만 https://github.com/RestKit/RestKit/issues/1748에서 나는 coredata 프로젝트는 한 번에 하나의 응용 프로그램에서 열 수 있습니다, 정말 RestKit이 (가 아닌 소스 응용 프로그램에 굽기 위해 설계 것이 좋습니다했다 -

나는 http://nshipster.com/core-data-libraries-and-utilities/가 주목 데이터베이스 스크래핑 및 전송 용).

어떤 접근 방식을 취하고 싶습니까?

는 또한 언급 : http://www.raywenderlich.com/15916/how-to-synchronize-core-data-with-a-web-service-part-1

감사합니다, 마틴.

답변

1

먼저 코어 데이터는 메모리의 객체 저장소입니다. 핵심 데이터에서 디스크에 기록되는 내용은 여러 가지 형식 중 하나 일 수 있습니다. 이러한 형식 중 하나가 SQLite 형식입니다. 응용 프로그램이 SQLite에 쓰는 경우 동일한 파일을 샘플링하여 다른 곳으로 밀어 넣을 수 있습니다.

그러나 각 응용 프로그램에는 고유 한 데이터 구조가 있으므로 처리중인 구조에서 유연해야합니다.

RestKit은 개체를 JSON으로 변환하고 서버로 밀어 넣기 때문에 아무런 가치가 없습니다. 내장 된 프레임 워크는 그렇게합니다.

현재로서는이 작업을 수행 할 수있는 유틸리티가 없습니다. 직접 쓰거나 누군가를 고용해서 작성해야합니다.

이런 식으로하면 핵심 데이터 자체를 사용하여 작성합니다. 먼저 데이터를 작성한 응용 프로그램의 모델을 조사한 다음 데이터베이스를 JSON으로 변환하고 밀어 넣습니다. 새로운 것부터 오래된 것까지를 알 수 없으므로 서버가이를 정렬해야합니다.

다른 옵션은 어쨌든 diff 할 수 없기 때문에 sqlite 파일을 서버로 밀어 넣고 서버가이를 처리하도록하는 것입니다.

+0

아, 다시 말해서 : 지속성 및 RestKit에 대한 다른 점에 감사드립니다. 또한 SQLite 데이터베이스를 푸시하는 것에 대한 요점은 나에게 몇 가지 다른 아이디어를주었습니다! (아래에 잠재적인 답변으로 게시했습니다) –

0

좋은 답변 (Objective-C를 훌륭하게 배제하고 내가 알고있는 언어 (예 : 제한된 범위))가 MacRuby와 Core Data Library를 사용하는지 궁금합니다.

핵심 데이터는 활성 레코드로 노출 될 수 있습니다. https://www.google.com/search?q=macruby+coredata, 특히 http://www.spacevatican.org/2012/1/26/seeding-coredata-databases-with-ruby/

그러나 MacRuby는 페이드 처리 된 것 같습니다. https://github.com/MacRuby/MacRuby/issues/231 - Mavericks에서는 컴파일되지 않습니다.

0

다른 대답을 포함 할 수 있습니다 : 예를 들어,