Я уверен, что есть много способов сделать это (и намного лучше, чем мой), но способ решения таких проблем заключается в следующем:
Сначала я определяю константу в первом .h файле приложения (тот, который будет загружаться первым), чтобы указать загрузку в первый раз, и устанавливаю ее в 0:
#define FirstTime 0
Теперь вы должны знать, что у меня есть намерение сохранить значение этой константы в папке «Документы» для будущих ссылок, поэтому я использую экземпляр общих данных. В viewDidLoad
я делаю следующий тест:
//if first time run of this version
if( [MyDataModel sharedInstance].count < (FirstTime + 1) )
{
//do what you need to do as the first time load for this version
[MyDataModel sharedInstance].count++
//save the count value to disk so on next run you are not first time
//this means count = 1
}
Теперь хитрость в вашей новой версии приложения (скажем, 1.1). Я меняю FirstTime
на 2:
#define FirstTime 2
Поскольку сохраненное значение «Первый раз» на диске равно 1, это означает, что вы будете замечены оператором if выше, поэтому внутри него вы можете делать все, что захотите, например, удалять старые таблицы и воссоздавать их снова с новым формированием.
Опять не так уж блестяще, но решает дело!