我有一個應用程序,它使用Cocoa/ObjC initWithCoder/encodeWithCoder
樣式編組存儲一些數據。在應用程序的整個生命週期中,已被刪除的類別之一是NSDate+Utils
類別。類別名稱是否使用encodeWithCoder風格編組進行序列化?
現在的問題是 - 如果一個NSDate+Utils
被序列化到磁盤,然後使用後面的代碼庫進行反序列化,當NSDate+Utils
不再存在;它會作爲NSDate
回來,還是會崩潰?
我有一個應用程序,它使用Cocoa/ObjC initWithCoder/encodeWithCoder
樣式編組存儲一些數據。在應用程序的整個生命週期中,已被刪除的類別之一是NSDate+Utils
類別。類別名稱是否使用encodeWithCoder風格編組進行序列化?
現在的問題是 - 如果一個NSDate+Utils
被序列化到磁盤,然後使用後面的代碼庫進行反序列化,當NSDate+Utils
不再存在;它會作爲NSDate
回來,還是會崩潰?
它不會崩潰。你只需要檢查它是否爲零。如果沒有,那麼只需跳過它,否則將數據填充到您的財產。順便說一下,這與代碼庫無關。只是將本地數據存儲在設備中。代碼只是告訴設備什麼或如何做的東西。
我寫了一個小程序來測試這個。類別似乎被寫爲基類 - 我假設只要他們不添加字段和/或混亂withCoder
方法。