Я использую NSCoding
для кодирования своих объектов и сохранения их на диск в качестве функции «кэширования», не требующей загрузки данных каждый раз при запуске моего приложения. Сейчас я сохраняю эти данные в папке «Документы» приложения, которое, как я читал, не удаляется при обновлении приложения.
Поэтому меня беспокоит то, что я делаю некоторые обновления в своем классе, например, добавляю переменную экземпляра. А затем загружает приложение в App Store. Поэтому, когда пользователь обновляет до новой версии, старые объекты, сохраненные в папке «Документы», кодируются без той новой переменной экземпляра, которую я добавил в новой версии. Так что, когда мое приложение попытается декодировать сохраненные объекты во время запуска, оно потерпит неудачу, потому что «старые» объекты из папки «Документы» не были закодированы с этой новой переменной?
Как бы я справился с этой проблемой? Убедиться, что я пишу свои классы «правильно» с самого начала? Я уверен, что в конечном итоге мне понадобится изменить один из моих классов, а затем сломать старые сохраненные объекты на диске.