2010-12-06 43 views
2

我很好奇NSCoding中將對象編碼到目標c中並將它們寫入磁盤的好處可能是簡單地將持久對象寫入磁盤。在I/O或磁盤空間使用方面是否有性能提升?使用NSCoding編碼對象或簡單地將數據寫入文件的優點和缺點

+0

您還可以注意到「將持久對象寫入磁盤」的含義。假設你的意思是編寫自己的文件I/O並將數據/結構以類似C的風格輸出到文件中? – 2010-12-06 19:55:54

回答

4

那麼,大多數NSCoding實現將正確處理對象圖;即如果您編碼已經編碼到編碼器的成員對象,它將不會再編碼。解碼將正確地恢復對象圖(所以解碼的目標對象具有多個入站引用)。您還可以獲得所有內置的輔助編碼函數(用於基元類型和對象)。

除此之外,NSCoder只是持久性對象生成器,因此您最終只做了類似的工作,只是沒有Apple處理的煩惱和常見情況。你可以寫什麼持久性生成器,它不會重複噸的NSCoder功能?

+0

Thanks @Adam Wright,我是新開發的iPhone應用程序,我的選擇書沒有解釋簡單地將持久性對象寫入磁盤或使用NSCoding協議方法進行操作的實際區別。 – 2010-12-06 19:49:03