Являются ли операции с UserDefaults синхронными? Например, второе сохранение ожидает завершения первого сохранения?
UserDefaults.standard.set(myValue1, forKey: "myValue1") UserDefaults.standard.set(myValue2, forKey: "myValue2")
Из яблочной документации :
Во время выполнения вы используете объекты UserDefaults для считывания значений по умолчанию, которые ваше приложение использует, из базы данных по умолчанию пользователя. UserDefaults кэширует информацию, чтобы избежать необходимости открывать базу данных пользователя по умолчанию каждый раз, когда вам нужно значение по умолчанию. Когда вы устанавливаете значение по умолчанию, оно изменяется синхронно внутри вашего процесса и асинхронно с постоянным хранилищем и другими процессами.