2012-08-19 6 views
0

저는 iOS 게임을하고 있는데, 내 레벨을 에디터에 저장하고 게임에로드하기 위해 NSCoding 프로토콜을 사용하고 있습니다. 수준을로드하는 데 익숙해 진 후에 NSKeyedUnarchiver을 어떻게 든 재사용 할 수 있는지 궁금합니다. 예를 들어 플레이어가 레벨을 다시 시작하지 않을 때. 같은 객체를 유지하고 속성을 재설정하기 때문에 단순히 레벨의 새 인스턴스를 만들고로드 할 수 없습니다.NSKeyedUnarchiver를 재사용 할 수 있습니까?

+0

보관되지 않은 데이터는 보관하므로 다시 보관 취소 할 필요가 없습니다. –

답변

1

데이터를 다시 사용할 수 있으며이 데이터는 디코더로 전달됩니다. 하지만 기존 객체를 초기 상태로 "재설정"할 수는 없습니다.

독자적으로이 작업을 수행 할 수 있지만 개체 트리 전체를 무효화하고 캐시 된 데이터에서 다시로드하는 것이 좋습니다.

확실히 개체 수에 따라 다르지만 프로세스가 눈에 띄게 느려질 정도로 충분하면 다른 중요한 최적화 작업이 많이 있다고 생각합니다.