다른 서버의 데이터베이스와 동기화되는 xcode에 프로그램을 작성하고 있지만 업데이트 할 정보는 마지막으로 동기화 한 날짜에 따라 다릅니다. "dateLastSynced"타임 스탬프를 저장하는 가장 좋은 방법은 무엇입니까? 프로그램을 열면 자동으로 날짜 스탬프 이후에 발생한 변경 사항을 동기화 할 수 있습니까?Datestamp 저장 iOS
답변
은 분명히 [NSDate date]
당신에게 NSDate
형식으로 현재 날짜를 얻을 수 있지만, SQLite 데이터베이스에 로깅하는 경우, 당신은 또한 예를 SELECT datetime();
에 해당하는 SQLite date and time function을 사용할 수 있습니다.
그러나이 타임 스탬프를 원격 웹 서비스 요청 (예 : 서버가 자체 내부 시계 및 타임 스탬프 기록과 비교하여 검사 할 타임 스탬프)에 사용하는 매개 변수로 사용하는 경우, 로컬 시계를 전혀 사용하지 마십시오. 해당 서버에서받은 타임 스탬프에서 dateLastSynced
을 확인하고 로컬 시계를 전혀 사용하지 마십시오. 효과적으로 웹 서버의 타임 스탬프 메커니즘이 프로세스를 제어하게합니다. 따라서 원격 서버에서 적절한 타임 스탬프 필드를 가져 와서 데이터베이스의 dateLastSynced
타임 스탬프에 저장합니다. 열쇠는 동기화 로직에 부정적인 영향을 미칠 수있는 사소한 시간 조정 (또는 더 나쁨, 현혹되지 않는 시간대 관리)을 원하지 않는다는 것입니다.
개인적으로 원격 데이터베이스와 로컬 데이터베이스 간의 동기화를 조정할 때 일반적으로 로컬 데이터베이스에 구성 정보가 들어있는 한 행 테이블이 있으며이 서버 기반 타임 스탬프가 저장됩니다. NSUserDefaults
(Preferences and Settings Programming Guide 참조)이나 plist 등을 사용할 수는 있지만 개인적으로이 동기화 타임 스탬프는 로컬 데이터베이스의 상태 속성으로 볼 수 있습니다. 그러므로 나는 거기에 보관하는 것이 더 편합니다. 다른 곳에 보관하는 경우 데이터베이스를 업데이트 할 수있는 다른 프로세스 (예 : 사용자가 새로운/수정 된 데이터 구조로 버전 2.0으로 응용 프로그램을 업데이트 할 때 마이그레이션 계획이 무엇인지)을 고려해야합니다.
그래서 가치있는 일이라면 개인적으로 데이터베이스 동기화 정보를 데이터베이스에 유지할 수 있습니다. 단 하나의 행 구성 테이블을 갖고 있다고해도 어리석은 느낌이 들더라도. (제쳐두고, 나는 또한 구성 테이블에 app/database 버전 번호와 같은 필드를 포함하는 경향이 있습니다.)
- 1. C로 쓰여진 pgAdmin에 대한 Datestamp 트리거
- 2. iOS-보기 속성 저장
- 3. iOS : 로컬 최고점 저장
- 4. 사용자 데이터 저장 iOS
- 5. iOS - NSMutableArray를 iPhone에 저장
- 6. iOS 영구 저장 전략
- 7. iOS : 사진 저장 문제
- 8. iOS : UIImageView에서 그림 저장
- 9. iOS 포인터를 저장 중
- 10. iOS AssetLibrary 포인터 저장
- 11. 일시적으로 데이터 저장 - iOS
- 12. iOS 오프라인 데이터 저장 튜토리얼
- 13. iOS : 코어 데이터 여러보기 저장
- 14. iOS NSUserDefaults에 UISegmentedControl 선택 저장
- 15. iOS 효율 파일 저장 효율성
- 16. iOS 미디어 선택기 선택 저장
- 17. iOS - CoreData에 이미지 배열 저장
- 18. 속성 목록 저장 안함 iOS
- 19. iOS - 앱 문서에 기록 저장
- 20. NSUserDefaults iOS 문자열 저장 오류
- 21. iOS WebApp - 저장을위한 장치 저장
- 22. iOS 앱 구매시 - 크레딧 저장
- 23. sqlite3.OperationalError : 인식 할 수없는 토큰 : "01T00"Python datestamp
- 24. iOS 데이터 저장 가이드 라인 잡기 22
- 25. iOS : 사용자 지정 해상도로 이미지 저장
- 26. iOS : 날짜 선택 도구 설정 저장
- 27. iOS - 이미지보기 저장 및 다시 열기
- 28. 서버에서 데이터를 읽고 txt 파일로 저장 - iOS
- 29. iOS 앱에서 사전 설정 저장 및로드
- 30. iOS App Rejected - 데이터 저장 가이드 라인
정보를 서버에 저장하는 것에 대해 알지만, 저장하고 싶습니다. 장치는 데이터베이스를 사용하지 않고도 쉽게 수행 할 수 있습니까? 단일 행을 저장하기 위해 테이블을 만들어야하는 것은 비효율적이라고 생각합니다. iOS에는 키/값 쌍 또는 그와 같은 설정을 저장하는 방법이 있다고 생각했는데 사실이 아니 었나요? –
'NSUserDefaults'를 사용할 수는 있지만, 실제로는 데이터베이스의 상태 (버전 번호, 동기화 정보 등)에 대한 주요 정보를 유지하는 한 행 구성 테이블을 설명하는 것을 선호합니다. 나는 이것이 개인적인 취향의 문제 일지 모르나 나는 데이터베이스가 자신의 상태에 관한 정보를 유지하는 것을 좋아한다. 어쨌든 내 업데이트 된 답변을 참조하십시오. – Rob
고마워, 정확히 내가 필요로하는 thats! –