2012-08-19 40 views
0

我正在研究iOS遊戲,我正在使用NSCoding協議將我的關卡保存在我的編輯器中,並將它們加載到遊戲中。我想知道是否有可能以某種方式重新使用NSKeyedUnarchiver後它被用來加載關卡。例如,當玩家不想重新開始關卡時。我不能簡單地創建和加載關卡的新實例,因爲我想保留相同的對象,只需重新設置它們的屬性即可。是否可以重用NSKeyedUnarchiver?

+0

我只會保留未歸檔的數據,以便您不必再次取消歸檔 – 2012-08-19 19:18:32

回答

1

您可以重新使用傳遞給解碼器的數據。不過,您不能將現有對象「重置」到初始狀態。

雖然你可以自己做到這一點,但我建議只是使整個對象樹無效並從可能的緩存數據中重新加載它們。

這肯定取決於對象的數量,但如果你有足夠的對象來使進程明顯變慢,我相信你還有很多其他更重要的優化工作要做。