2017-04-25 5 views
3
Apple's NSUbiquitousKeyValueStore documentation에서

대 :NSUbiquitousKeyValueStore은 NSUserDefaults

사용자가 아이 클라우드 계정에 로그인하지 않을 때 당신은 키 - 값 저장소 개체로 작성하는 경우

, 데이터가 다음 동기화 기회까지 로컬로 저장됩니다. 사용자가 iCloud 계정에 로그인하면 시스템은 로컬의 디스크상의 키와 값을 iCloud 서버의 값과 자동으로 조정합니다.

따라서 사용자가 iCloud 계정에 로그인하지 않으면 키 - 값 저장소 개체가 NSUserDefaults와 같이 무기한으로 로컬에 저장됩니다.

이 경우 NSUserDefaults 사용을 중지하고 NSUbiquitousKeyValueStore를 모든 응용 프로그램의 '기본값'으로 사용해야합니까? 이 접근법의 단점은 무엇입니까?

내가 볼 수있는 장점은 사용자의 관점에서 볼 때 앱 환경 설정이 모든 기기에 동기화되어 사용자 환경이 개선 될 가능성이 높습니다.

답변

0

iCloud의 NSUbiquitousKeyValueStore은 특정 계정의 모든 기기에서 앱 상태를 구성하고 추적하기위한 것임을 분명히 이해해야합니다.

일부 사실은 NSUbiquitousKeyValueStore입니다.

문서에서 우리는 그것을 찾을 수 있습니다 앱의 행동 오프라인에 필수적인 데이터에이 클래스를 사용하여

하지 마십시오; 대신 해당 데이터를 로컬 사용자 기본값 데이터베이스에 직접 저장하십시오.

또한 저장할 수있는 데이터의 크기는 비교적 작습니다.

주어진 사용자의 에 대해 앱의 키 - 값 저장소에서 사용 가능한 총 공간은 1MB입니다. 키 당 값의 크기 제한은 1 MB, 이고 최대 1,024 개의 키가 있습니다.