Я использую вид выбора для выбора нового часового пояса, и здесь я устанавливаю новый часовой пояс по умолчанию для приложения:
if let local = selectedTimeZone {
let timeZone = TimeZone(identifier: local)
NSTimeZone.default = timeZone!
}
здесь, например, selectedTimeZone
равно "America/Chicago"
И когда открывается эта страница, я читаю значение часового пояса по умолчанию и показываю его как выбранный часовой пояс:
if let index = timeZone.firstIndex(where: { $0.zoneName == NSTimeZone.default.identifier }) {
pickerViewField.textField.text = timeZone[index].zoneName
}
Когда выбран новый часовой пояс, он работает и приложение, пользователь может go вокруг, и когда пользователь открывает настройку, метка представления выбора показывает новый часовой пояс. Но когда я полностью закрываю приложение и открываю его снова, часовой пояс возвращает часовой пояс устройства по умолчанию, а не новый, выбранный в приложении.
Теперь мой вопрос; мне нужно где-то хранить новое значение часового пояса, и когда приложение открывается, я сначала устанавливаю новое значение заново? Или в моем коде что-то не так?
Большое спасибо