문제

를하고자하는 도시/국가 선택을 사용하여 2NSPopupButtons.하나 팝업 버튼을 포함됩니다 첫 번째 부분은 예:영국,두 번째 포함됩니다 두 번째 부분은 예:런던 그래서 도시 전체가/국가 콤보를 읽을 것이다:영국 런던 그러나 저는 두 번째 부분이 업데이트될 때 첫 번째 부분은 선택,예를 들어,는 경우 런던,선택 가능한 선택에서 두 번째 popupbutton 될 것입니다 런던,버밍엄,맨체스터 etc., 는 경우 이탈리아의 선택되었다,다음 두 번째 popupbutton 표시됩니다 나라와 같은 베니스,밀라노,etc.

그 후,나는 저장하고 이 데이터를 하나의 속성에서 핵심 데이터입니다.그래서에 가입하는 두 가지를 함께 저장"영국 런던에서"속성"이라는 장소".

할 수 있었 사람을 나에게 어떤 도움을 하는 방법으로 이를 구현하십시오?

감사합니다!

도움이 되었습니까?

해결책

어떻게 당신은 귀하의 국가/도시 데이터를 저장(그들은 또한에서 핵심 데이터는)?를 결정하는 세부 사항의 일부를 여기에,그러나 기본적인 아이디어가 사용하는 코코아인 링크 각 NSPopUpButton 의 콘텐츠 NSArrayController.

코코아인 지 않은 정말 단순하지만,그들은 정말로 마법처럼 작동되면 모든 것을 얻을 올바르게 구성되었습니다.문제는 없을 때 일을 제대로 구성되어,그것의 하드를 결정하는 무엇이 잘못된 것입니다.

여기에 일반적인 설정:

을 구성하는 첫 번째 NSArrayController 야 할 내용이 국가의 데이터입니다.를 사용하면 핵심 데이터,당신은 그것을 전달하고 관리되는 개체텍스트와 it 준비하는 자신의 데이터 Country entity.그렇지 않으면,당신은 바인딩하는 해당 콘텐츠 기존의 배열체를 구현하는 키 값을 준수한 코딩 의 방법에 액세스하지 못하게 연결된 도시입니다.를 사용하여 핵심 데이터에 대한 데이터 소스는 여기에서 당신의 인생을 더 쉽게 만들 것입니다.

그리고 당신은 바인딩 두 번째 NSArrayController 을 얻을에서 콘텐츠 selection 의 첫째,적절한 키의 경로를 당신의 도시입니다.핵심 데이터,이 될 것입니다 Content Set (기 때문에 정렬되지 않은).


편집: Bah,댓글 필드를 완전히 쓸모 없습니다.여기에 적절한 응답을 당신의 첫 번째 논평:

모델 이 관계에서 핵심 데이터,당신을 설정하는 모형을 다음과 같이:

Xcode Model Editor Screenshot

하는 것이 중요 참고로 나는 나의 엔티티는 사용자 정의 클래스를 제공합니다(MBCountryMBCity).요청에 의해 엑스 코드를 생성한 클래스를 위한 당신은(엔터티를 선택하고,새로운 파일을 선택하고 코코아래->관리 개체 클래스)를 사용할 수 있습니다 진정 접근법(대만 valueForKey:).(옆으로,정말 가치 Rentzsch 의 Mogenerator 이 작업을 자동으로 수행하는 당신을 위해서 모든 저장합니다.)

지금 하는 귀하의 모델은 설정을 채울 수 있습니다 데이터를 저장 다음과 같다:

NSArray *countryList = ...; /* Get your array of country names */
for (NSString *countryName in countryList) {
    MBCountry *aCountry = (MBCountry *)[NSEntityDescription insertNewObjectForEntityForName:@"MBCountry" inManagedObjectContext:context];
    [aCountry setName:countryName];
    NSArray *cityList = ... /* Get your array of city names for this country */
    for (NSString *cityName in cityList) {
        MBCity *aCity = (MBCity *)[NSEntityDescription insertNewObjectForEntityForName:@"MBCity" inManagedObjectContext:context];
        [aCity setName:cityName];
        [aCountry addCitiesObject:aCity];
    }
}

핵심 데이터는 정말 방법 잔니다 여기에.그러나,그것의 소리처럼 사용할 핵심 데이터의 다른 섹션에서 귀하의 프로그램,그래서 이들에게 학습의 기회입니다.그것은 매우 가파른 학습 곡선(확실히 하나의 까다로운 측면의 코코아 API)지만,그것은 드리겠습니다.다만 꾸준히 하는 것을 계속하십시오!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top