2011-11-16 4 views
0

동적 인 (작은) 엔티티 양을 저장하기 위해 코어 데이터를 사용합니다. 이 엔티티에는 각 엔티티에 대해 서버와 동기화되는 "표시"및 "밀어 넣기"속성이 있습니다.자체 IASKSettingsReader를 구현할 수 있습니까?

이제 사용자에게 핵심 데이터 엔티티 내에서 이러한 두 설정을 변경할 수있는 가능성을 부여하기 위해 InApp-Settings를 추가하려고합니다.

동작 및 모양이 Settings.app과 같아야하므로이 경우에는 InAppSettingsKit-Project를 사용하고 싶습니다.

내가 읽었을 때,이 라이브러리는 코어 데이터 내의 값을 저장하기 위해 사용자 지정 SettingsStore를 구현할 수 있지만 코어 데이터에서 엔티티 및 설정도 읽어야합니다. 제 생각에는 하위 클래스의 IASKSettingsReader를 정의하여 사용하는 것은 불가능합니다.

다음 문제는 기본 설정을 표시하기 위해 plist를 사용하고 설정의 하위 수준에 자체 저장을 표시하려고합니다.

예 :

-> Display Settings (From plist) 
--> List of entities with my own reader and store to show toggles 
-> Push Settings (From plist) 
--> List of entities with my own reader and store to show toggles 
-> Version (From plist) 
-> About (From plist) 

는 처음부터 전체 설정 (매우 고통스러운 unflexible 것) 작성하지 않고이 목표를 달성 할 수 있습니까?

미리 올바른 방향으로 안내해 주셔서 감사합니다.

은 ------ 수정 ------

나는 가능한 솔루션이 될 것 그들을 읽고, 응용 프로그램 시작에 InAppSettingsKit에 필요한 형식으로 사용자 정의 PLIST를 저장하는 생각 이 하위 창에 대한 소스로 하위 메뉴를 표시하고 plist에 사용자 지정 SettingsStore로 설정을 저장하고 synchronize 메서드에서 데이터를 핵심 데이터에 다시 저장합니다.

이 접근 방식에 대해 어떻게 생각하십니까?

답변

0

나는 질문 편집에서 설명한 접근법을 구현했다.

  1. 가 InAppSettings.bundle
  2. 내 InAppSettingsKit 같은 PLIST-파일에 두 개의 PLIST 파일을 생성 내 서버에서 콘텐츠를 핵심 데이터의 데이터를 업데이트 :

    전체 접근 방식은이 방식으로 작동합니다 SettingsStoreCoreData SettingsStore를 구현했습니다. 초기화시 핵심 데이터의 값으로 사전을 작성하고 동기화가 호출 될 때 코어 데이터에 다시 저장합니다.

Ortwin Gentz가 언급했듯이 자신의 IASKSettingsReader를 작성할 수 있습니다. 하지만 내 접근 방식은 작업이 적게 필요하며 IASKSettingsKit에서 다양한 소스 유형을 처리하지 않아야한다고 생각합니다.

+0

내 솔루션의 추가 사항 : 실제 장치의 InAppSettings.bundle 내에 파일을 쓸 수 없습니다. 그래서 InAppSettings.bundle, Settings.bundle 및 응용 프로그램 문서 디렉토리에서 plist 파일을 검색하는 사용자 정의 설정 판독기를 작성했습니다. 여기에서 등록 정보 파일을 생성합니다. 그러나 슬프게도 설정 화면의 하위보기를 열 때 덮어 쓰기 때문에 viewreader에서 독자적인 설정 판독기를 판독기로 설정할 수 없습니다. –

1

당신이 묘사 한 접근법은 합리적이라고 생각합니다. 그래도 (-locateSettingsFile:) plist의 경로를 설정하는 로직을 조정해야합니다. 필드 정의를 동적으로 설정하기 위해 IASKSettingsReader 대체를 쓰는 것도 가능해야합니다. 또는 IASKSettingsReader.dataSource 속성을 직접 수정할 수도 있습니다 (테스트하지 않고 아이디어 만 가능).

+0

입력 해 주셔서 감사합니다. 나는 나의 접근 방식을 구현했으며 완벽하게 작동합니다. –

관련 문제