Как структурировать константы и настройки приложения - PullRequest
0 голосов
/ 10 января 2019

Я недавно провела рефакторинг прототипа приложения, чтобы сделать код более управляемым, но я столкнулся с небольшим ударом в дороге, и я не уверен, как его обойти.

Ранее я использовал SettingsViewController для просмотра и установки пользовательских настроек. Затем я вызвал метод делегата, который обновил мой интерфейс. Я хочу изменить это так, чтобы SettingsViewController обновлял класс настроек, и этот класс затем изменял пользовательский интерфейс во всем приложении. Ключевой вопрос здесь действительно заключается в том, имеет ли это смысл в качестве подхода? Приведенный ниже код является примером того, что я пытаюсь сделать концептуально, но опять же я не уверен, что любая помощь будет оценена!

class MySettings {
 var x: Int = 0

 func updateX(newX: Int) {
  self.x = newX
  delegate?.newXwasSet(newX: Int)
 }
}

protocol SettingsDelegate {
 func newXwasSet(newX: Int)
}

class SettingsViewController: UIViewController {
 mysettings = MySettings()

 @IBAction func xWasChanged(_ sender: UISegmentedControl) {
  mysettings.updateX(SegmentedControllerName.selectedSegmentIndex)
 }
}

class MainViewController: UIViewController, SettingsDelegate {

 func newXwasSet(newX: Int) {
  myLabel.text = NumberFormatter.localizedString(from: NSNumber(value: newX), number: .decicaml)
 }
...