2017-11-29 6 views
0

Core Data에 요청을 저장하기 위해 응용 프로그램을 다시 작성 중이며 모든 요청이 완료 폐쇄 (서버로부터의 성공 응답 후에 호출되어야 함)됩니다.코어 데이터 저장 종료

클로저를 Core Data에 저장할 수 있습니까?

답변

1

어쨌든 클로저를 Data의 인스턴스로 변환 할 수있는 경우에만. 핵심 데이터는 직접 저장하지 않지만 변환 할 수있는 항목은 모두 Data에서 저장합니다. 어떻게 할 수 있을지 모르겠지만 그것이 어떻게 작동해야하는지입니다.

코어 데이터를 사용하지 않는 경우와 거의 동일합니다. 에 저장하는 방법은 무엇입니까?? 다른 퍼시스턴스 메소드는 클로저를 직렬화 및 비 직렬화하는 것과 유사한 요구 사항을 갖습니다.

당신이해야 할 일은 클로저를 저장하는 대신 요청을 실행할 때 클로저를 재구성 할 수있는 충분한 데이터를 저장하는 것입니다. 그것이 얼마나 어려운지는 클로저의 세부 사항에 달려 있습니다.

+0

코어 데이터에는 속성의 변형 유형이 있습니다. 그 속성에 사전을 저장할 수 있으며 사전에 클로저를 저장할 수 있습니다. 그럴 수 없나요? (클로저는 컴파일 된 코드 일 뿐이므로 이름없는 함수와 비슷하므로 클로저에 대한 포인터를 기억하는 방법이있을 수 있습니다. 사전에 클로저를 저장할 수 있습니까? –

+0

다음과 같은 경우에만 사전을 저장할 수 있습니다. 특정 데이터 유형으로 제한되거나 데이터 객체로 직접 변환하는 경우 클로저는 이러한 유형 중 하나가 아닙니다. 포인터가 메모리의 주소이기 때문에 포인터가 필요할 때까지 앱이 계속 실행되지 않는 한 포인터를 저장하면 도움이되지 않습니다. 앱이 –

+0

을 종료하면 유효하지 않습니다. 그리고 앱이 포인터를 필요로하기 전에 종료되지 않더라도, 앱에 대한 강력한 참조를 유지하여 클로저가 메모리에 여전히 존재하는지 확인할 수있는 경우에만 유용합니다. 하지만 그렇게하면 핵심 데이터 나 다른 데이터 지속성을 사용할 필요가 없습니다. 이미 데이터를 메모리에 가지고 있기 때문입니다. –