Как вызвать класс только при первом входе в приложение iOS - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу создать базу данных при первом доступе к приложению.

Как вы знаете, Swift имеет класс AppDelegate.swift с @UIApplicationMain, и это означает класс main ().

Если я хочу создать базу данных при первом доступе к приложению, а не при следующем обращении к нему, что мне делать?

Могу ли я изменить AppDelegate.swift? (я не знаю, это хороший способ)

Или использовать флаг? (Я думаю, что всякий раз, когда я получаю доступ к приложению, этот флаг инициализируется ... если я сохраню флаг в локальной базе данных ???, но в этот раз базы данных не будет ...)

Кроме того, Я использую Sqlite.swift.

если вам нужны мои коды, чтобы понять вопрос, прокомментируйте меня!

1 Ответ

0 голосов
/ 14 апреля 2020

простое решение, чтобы узнать, запущено ли уже приложение:

let alreadyLaunched = UserDefaults.standard.bool(forKey: "AppLauch")

if !alreadyLaunched {
    // setup everything needed
    //....
    UserDefaults.standard.set(true, forKey: "AppLauch")
    UserDefaults.standard.synchronize()
}

Вы совершенно правы, введите AppDelegate didFinishLaunchingWithOptions перед возвратом.

ПРИМЕЧАНИЕ: этот метод не гарантирует полную настройку вашей базы данных (проверьте методы, связанные с API вашей базы данных, чтобы убедиться в этом), просто сообщает об этом приложении, запущенном ранее или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...