핵심 데이터를 사용하는 것은 응용 프로그램 대리인이 있는지 여부와 관련이 없습니다. 그들은 두 가지 분리 된 것입니다. 은이 될 수 있지만 Core Data 나 응용 프로그램 대리인은 필요하지 않습니다. 그렇게하는 것도 좋은 디자인이 아닙니다. 앱 위임자의 임무는 시작, 백그라운드로 진행되는 것과 같은 앱 라이프 사이클 이벤트에 응답하는 것입니다. 앱의 데이터를 관리하는 별도의 작업을 혼동하는 것은 좋지 않습니다.
Xcode에서 새 프로젝트를 만들고 "코어 데이터 사용"확인란을 선택하면 Xcode에서 응용 프로그램의 핵심 데이터를 설정하기위한 응용 프로그램 대리인 클래스의 메서드를 포함합니다. 그러나 코드는 어떤 클래스에서든 사용할 수 있습니다. 코드가 해당 클래스에 있어야하는 앱 위임자에 특별한 것은 없습니다. Xcode가 해당 코드를 해당 클래스에 넣었으므로 그 코드가 이 필요하다는 의미는 아닙니다. 그런 식으로 수행하려면이 필요합니다. 추가 앱 정보에서 핵심 데이터를 사용해야하는 경우 해당 작업을 수행 할 수 있습니다.
일반적인 방법 중 하나는 핵심 데이터를 관리하기위한 새로운 클래스를 만드는 것입니다. 앱 델리게이트 대신 모든 핵심 데이터 스택 관리 코드를 넣으십시오. 앱 대리자는 앱에서이 클래스의 인스턴스를 만들 수 있습니다. 앱 확장 프로그램에서는 확장 유형에 필요한 모든 위치에서 클래스를 인스턴스화 할 수 있습니다.
핵심 데이터를 사용하려면 응용 프로그램 위임자가 필요하지 않습니다. 이 두 가지는 완전히 무관하다. –
@TomHarrington 질문에 대한 대답으로 그걸 확대하는 것이 좋습니까? :) –