문제

확인. 이것은 도전입니다.

내비게이션 컨트롤러 내에 테이블 뷰가 있습니다.

나는 루트에서 그것을 밀어 내면 새로운 레코드를 추가 할 수있는 추가 조치가 있습니다. 잘 작동합니다.

이제 내가 시도한 것은이 테이블 뷰를 탭 바보기 (작동하지 않는 탭 바 컨트롤러 CUZ없이)에 동일한 내비게이션 컨트롤러 내에 추가하는 것입니다.

그래서 내가하고 싶은 것은 root> tabbarview (loads tableview)> 새 레코드 추가입니다.

문제는 관리되는 객체 컨텍스트에 있으며, 전체 "엔티티 오류를 찾을 수 없음"을 얻을 수는 있지만 어떻게 해결 해야할지 모르겠습니다.

AddRecord Modal View Controller가 Tabbarview에서 표시되도록했지만 탐색대없이 자체적으로 표시되는 반면, 독방 테이블 뷰 (Tabbar 외부)에 레코드를 추가하려고하면 문제가 없습니다.

이제 Tabbarview의 NavigationBarbuttons에서 내 방법을 호출하여 TableViews 메소드로 라우팅합니다.

나는 내 방법이 실제 테이블 뷰 대신 탭 바뷰에서 호출되어야한다는 것을 알고 있으며, 그들은 화재를 일으킨다. 그러나 나는 탭 뷰에있을 때 MOC를 관리하는 방법을 모른다.

아, 그리고 이것은 Coredata 레시피와 책을 기반으로하므로 레코드 추가 방법이 발사되면 새로운 MOC를 만들어 만들 수 있습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

몇 가지 문제가있는 것 같습니다.

  1. "엔티티를 찾을 수 없음"오류 - 이것은 사용중인 관리 된 객체 컨텍스트에 따라 다릅니다. 편집하고있는 객체를 관리하기 위해 별도의 MOC를 만든 경우 (좋은 생각은) 지속적인 상점 코디네이터를 지정하십시오. 이것이 MOC가 사용할 수있는 개체를 발견하는 방법입니다. 앱 대의원에서 생성 된 MOC를 사용하는 경우 엔티티의 이름을 올바르게 철자하는지 확인하십시오.
  2. 시트에 내비게이션 막대 없음 - 뷰 컨트롤러를 탐색 컨트롤러로 밀면 navigationItem 탐색 표시 줄을 채우는 데 사용됩니다. 보기 컨트롤러를 시트로 표시하면보기 컨트롤러 만 표시됩니다. 내비게이션 컨트롤러에 포함되어 있지 않습니다. 내비게이션 항목을 표시하려면 View Controller를 루트로 사용하여 새로운 내비게이션 컨트롤러를 작성한 다음 Navigation Controller의보기를 제시해야합니다.

다른 팁

메인 MOC가 진행되는 한,보기와 컨트롤러는 관련이 없어야합니다. 사용중인 컨트롤러에서 MOC에 대한 참조를 얻고 해당 MOC와 함께 작동하십시오. 응용 프로그램 대의원이 메인 MOC를 작성하는 경우 해당 대의원의 속성을 만들고 뷰 또는 탭 컨트롤러에서이를 액세스하십시오.

나는 당신이 가진 탐색 문제를 따르지 않지만, 필요할 때 내비게이션 막대가없는 경우 UiviewController 서브 클래스를 추가하는 어딘가에 UinavigationController를 작성하고 추가해야한다고 생각합니다. 서브 클래스를 새로운 UinavigationController의 루트로 만들고 컨트롤러를 탭에 넣거나 무엇이든 내립니다.

관리되는 객체 컨텍스트 (MOC)는 탐색 또는보기에 의존해서는 안됩니다. 모델의 일부입니다. (아시다시피, 취소 가능한 편집보기를위한 두 번째 MOC ~일 것이다 편집기가 사용할 수있는 정도까지 내비게이션에 의존하십시오.)

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