2017-12-01 1 views
0

사용자 정의 viewcontroller를 초기화하려고하는데 매개 변수를 보내고 있지만 알아낼 수는 없습니다.사용자 정의 컨트롤러를 초기화 할 때 inAppSettingsKit을 사용하여 매개 변수 보내기 (또는 키 가져 오기)

내가 (실행 걷기, ...) 다른 스포츠 별 설정을하고, 사용자 정의의 ViewController에 핵심 데이터들을 저장할 :

아이디어를 스케치합니다.

설정이 속한 스포츠를 알기 위해서는 사용자가 해당 화면에 도달하기 위해 어떤 스포츠를했는지 알아야합니다. 매개 변수를 보내거나 각 스포츠에 대한 사용자 지정 init을 사용하거나 키를 가져 와서이 작업을 수행하려고 생각했습니다. 그 모든 것은 내가 알 수없는 것입니다.

내가 this issue로 보면서 이런 식으로 할 시도했다 : enter image description here 하지만 그건 작동하지 않습니다 (4 항목), 나는 또한 파일을 지정해야합니다 생각 IASK의 문서에 따르면,하지만 파일 ?

선택기에는 설정 묶음의 파일 이름에 대한 NSString 인수와 IASKSpecifier의 두 인수가 있어야합니다.

파일 필드를 설정하고 다른 값을 시도했지만 성공하지 못했습니다.

컨트롤러를 초기화 한 항목의 키를 가져올 수 있다면 (예 : 항목 4의 "실행 중") 좋을 수도 있습니다.

나는 내 마음을 잃어 버리는 많은 다른 것들을 시도했다. 분명히 뭔가 잘못하고있는 것이 분명하지만 나는 그것이 무엇인지 모른다.

답변

0

Settings.plistIASKSpecifier 키를 지정할 필요가 없습니다. 이 작동하는 방법은

SettingsPerSportViewController.m을 구현할 수 있습니다 :

- (id) myinit:(NSString*)file specifier:(IASKSpecifier*)specifier { 
    if ((self = [super init])) { 
     // setup your VC 
     if ([specifier.key isEqualToString:@"tennis"]) { 
      // custom stuff for tennis 
     } 
    } 
    return self; 
} 

그러나, 이것이 의미하는

당신이 설정 자신에 스포츠 컨트롤러를보고 그것을 위해 IASK를 사용하지 않는 빌드합니다.

모든 스포츠가 동일한 설정을 공유하고 IASK를 사용하여 설정보기 컨트롤러를 생성하려는 경우 custom settings storage을 구현하고 모든 스포츠에 동일한 Sport.plist을 사용할 수 있습니다. 그런 다음 사용자 지정 설정 저장소를 Core Data에서로드하여 직접 저장할 수 있습니다. sport 속성은로드 및 저장 작업을 올바른 핵심 데이터 컨텍스트 또는 테이블로 라우팅합니다. 당신이 설정 및 사용자 정의 스토리지 서브 클래스에 settingsStore 속성 집합 선택한 스포츠에 따라 설정 sport 속성을 각 스포츠에 대한 IASKAppSettingsViewController을 밀어 간단한 정적 뷰 컨트롤러를 가질 수 루트 수준에서

.