Я хотел бы иметь приложение с вкладками, где одна страница зарезервирована для информации об отладке. Итак, на этой странице у меня есть текстовое представление. Я хотел бы, чтобы другие контроллеры представлений и singleton (доступ к данным и т. Д.) Могли добавлять в текстовую область. Я пробовал шаблон singleton здесь, но я думаю, что это не работает, потому что экземпляр singleton не совпадает с «реальным», который использует приложение. Есть ли способ получить доступ к фактическому экземпляру из другого ViewController или из других классов в приложении?Swift: доступ к другому полю ViewController
Вот DebugViewController:
class DebugViewController : UIViewController {
@IBOutlet weak var debugTextField: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
debugTextField.text = ""
}
func debug(text : String) {
if debugTextField == nil {
debugTextField = UITextView()
debugTextField.text = ""
}
println("\(NSDate()) : \(text)")
debugTextField.text = "\(NSDate()) : \(text) \n" + debugTextField.text
}
}
Это будет работать, но я не должен быть инициализацией ViewController сам. Это (я думаю), почему мой общий синглтон не работал - это был не тот пример, который использовал приложение. Так что все, что мне нужно, чтобы сделать эту работу, - это код для захвата фактического экземпляра. –
Если вы хотите использовать одноэлементный шаблон, тогда у вас нет другого выбора, так как IB создаст экземпляр через 'init' и никогда не будет с помощью некоторого' Class.sharedInstance' –