快速更改应用程序的默认时区

时间:2020-02-21 09:14:18

标签: swift timezone

我正在使用选择器视图来选择新的时区,在这里我为应用设置了新的默认时区:

 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
  } 

选择新的时区后,似乎可以正常工作,并且在应用程序中,用户可以四处走动;当用户打开设置时,选择器视图标签将显示新的时区。 但是,当我完全关闭应用程序并再次打开它时,时区将返回设备的默认时区,而不是应用程序中选择的新时区。

现在我的问题是;我是否需要将时区的新值存储在某个地方,当应用程序打开时,我会首先重新设置新值吗?还是我的代码有问题?

非常感谢

0 个答案:

没有答案
相关问题