1

나는 엔티티와 핵심 데이터 모델은 다음과 같은 속성들로 구성되어 고객 불렀다 :는 프로그래밍 (IB 바인딩처럼 '추가') 코어 데이터 개체에 추가

client model entity

하는 경우를 I 버튼 '클라이언트를 추가 '다음과 같은 창이 나타 온 클릭

client window

을 어떤 것 프로그래밍 방식으로 각 속성에 대한 새로운 항목을 프로그래밍 방식으로 추가 할 수 있습니다 (바인딩 된 IB의 '추가'버튼이 NSArrayController과 작동하는 것과 비슷한 방식으로) '클라이언트 추가'의 텍스트 입력란에 표시되게하십시오. 편집? '클라이언트 추가 클라이언트'창의 텍스트 필드는 클라이언트 엔티티의 해당 속성 (하나 또는 두 개가 여전히 누락 됨)에 바인딩됩니다. 내가 지금 가지고있는 코드는 다음과 같습니다이 프로젝트에 다른 기업에 근무하지만 관계 유형을 추가하기 때문에 클라이언트 작동하지 않습니다

- (IBAction)addNewClient:(id)sender; 
{ 
    [addClientsWindow makeKeyAndOrderFront:self]; 
    //NSManagedObjectContext *clientsMoc= [clientsController managedObjectContext]; 
    //[clientsMoc addObject:[clientsMoc newObject]]; 
    [clientsController addObject:[clientsController newObject]]; 
} 

(이 콘솔에서 KVC 오류를 던졌습니다). 나는 그것이 NSManagedObjectContext보다는 NSArrayController을 다루고 있기 때문에 그것이 상상된다. 그러나 주석 처리 된 코드는 나를 위해 일하지 않는다. 이 시도는 previous question에서 계속되며 질문이 많이 바뀌었고 주어진 조언을 구현하는 데 어려움을 겪고 있습니다. 정말 좋은 출발점이 필요하고 사과 dev에 워드 프로세서는 내가 이것을 이해하는 데 도움이되지 않습니다.

미리 감사드립니다.

---- 업데이트 ----

나는이 질문에 심하게 일을 설명하고 있는가? 나는 여기 새로 왔지만 대답을 시도 할 수도 있다고 생각했습니다. 인터넷 검색은 어떤 이유로 어려웠습니다. 관련없는 Google 검색을 통해 해결책과 비슷한 것을 발견했을 수도 있습니다. 운 좋게도 이것과 관련이 있습니다.

- (IBAction)addNewClient:(id)sender; 
{ 
    [addClientsWindow makeKeyAndOrderFront:self]; 
    NSManagedObjectContext *clientsMoc= [clientsController managedObjectContext]; 
    NSManagedObject *clientsEntity = [NSEntityDescription 
            insertNewObjectForEntityForName:@"Clients" 
             inManagedObjectContext:clientsMoc]; 
    [clientsEntity setValue:@"name" forKey:@"clientName"]; 
    [clientsEntity setValue:@"company" forKey:@"clientCompany"]; 
    [clientsEntity setValue:@"address" forKey:@"clientAddress"]; 
    [clientsEntity setValue:@"11111111" forKey:@"clientLandline"]; 
    [clientsEntity setValue:@"[email protected]" forKey:@"clientEmail"]; 
} 

이렇게하면 클라이언트 엔티티에 대해 완전히 새로운 항목이 생성되었습니다. 각 속성에 대해 개별 값을 지정해야한다는 것을 알지 못했습니다. KVC 오류가 계속 발생했지만 해결책을 찾지 못했습니다. Apple dev 문서는 실제로이 중 하나 인 here에 유용하며 "실행시 전달할 인수"목록에 NSBindingDebugLogLevel 1을 추가하면 문제의 원인을 정확히 알 수 있습니다. 업데이트되지 않은 NSTableColumn에 대한 구속력이었습니다.

답변

3

이 후에 내가했다 해결책이 될 수 있습니다

- (IBAction)addNewClient:(id)sender; 
{ 
    [addClientsWindow makeKeyAndOrderFront:self]; 
    NSManagedObjectContext *clientsMoc= [clientsController managedObjectContext]; 
    NSManagedObject *clientsEntity = [NSEntityDescription 
            insertNewObjectForEntityForName:@"Clients" 
             inManagedObjectContext:clientsMoc]; 
    [clientsEntity setValue:@"name" forKey:@"clientName"]; 
    [clientsEntity setValue:@"company" forKey:@"clientCompany"]; 
    [clientsEntity setValue:@"address" forKey:@"clientAddress"]; 
    [clientsEntity setValue:@"11111111" forKey:@"clientLandline"]; 
    [clientsEntity setValue:@"[email protected]" forKey:@"clientEmail"]; 
} 

이것은 클라이언트 엔티티에 대한 전체 새 항목을 만들을 - 나는 각 속성에 대한 개별 값을해야 할 것입니다 몰랐어요. KVC 오류가 계속 발생했지만 해결책을 찾지 못했습니다. Apple dev 문서는 실제로이 파일에 유용합니다. here 및 "실행시 전달할 인수"목록에 NSBindingDebugLogLevel 1을 추가하면 문제의 원인을 정확하게 알 수 있습니다. 업데이트되지 않은 NSTableColumn에 대한 구속력이었습니다.