NSCoding VS NSCopying

jar*_*ryd 1 objective-c nscoding nscopying

NSCoding和NSCopying在低级别上有什么真正的区别?

它们是应该独立使用,还是什么时候使用哪一个?

Joa*_*son 9

  • NSCopying最接近于其他语言的调用clone(),也就是说,它用于立即创建(功能)新对象作为现有对象的副本.

  • NSCoding最接近serialize()/deserialize,也就是说,它用于将对象转换为可以持久存储和稍后恢复的形式,可能是在其他时间重新启动程序时.

正如您所看到的,它们在功能上并不十分相似,并且绝对应该能够独立使用.