Я работаю над приложением iOS и сохраняю данные с помощью NSKeyedArchiver
, а затем загружаю его с помощью NSKeyedUnarchiver
. В структуре под названием «WorkingData» у меня есть статическая переменная с именем firstLaunch, для которой установлено значение true. Когда приложение запускается впервые, предполагается запустить код, как это в didFinishLaunchingWithOptions
из AppDelegatestatic boolean в структуре, установленном на неправильное значение при запуске Swift 2.1 iOS
if !WorkingData.firstLaunch
{
// load settings
}
однако firstLaunch устанавливается в ложь в таблице символов в отладчике и, таким образом прогонов кода и сбои пытаются развернуть необязательный. Почему это делается, когда в коде установлено значение true. Заранее спасибо!
Это как и ожидалось, эта строка кода еще не запущена, поэтому переменная указывает на ничего и defauls на false. Он должен работать под управлением кода. Если вы все еще не уверены, подпишите переменную на консоль. – Kametrixom
Если ваша логика требует проверки доступных данных, тогда ... проверьте наличие доступных данных! Это намного чище, яснее и надежнее. – Eiko