我试图在我自己的班级中为通知设置一个观察者。
我们说我们有类似下面的内容,例如,
ViewController
和我的override func viewDidLoad() {
super.viewDidLoad()
let myClass = MyClass()
myClass.run()
}
,
textField
如果我点按NotificationCenter
或其他东西来使键盘上升,那么这实际上不会起作用。
如果我在不使用MyClass
的情况下执行此操作,或者如果我将对象注册为观察者,则center.addObserver(ViewController.self, selector: #selector(test), name: .UIKeyboardDidShow, object: nil)
肯定有效:
test
然后我当然应该在ViewController
中将class function
函数实现为var help = 'Put me in the paragraph tag please!'
var no = 'Or me, either way it\'s fine!'
$('.reset').on('click', function() {
$('p').text('');
});
$('.go').on('click', function() {
var key = prompt('Enter something bro').toLowerCase();
$('p').text(key);
});
。
但这不是我想要的方式。任何建议或建议可以解释为什么这不起作用?
答案 0 :(得分:2)
myClass
将在viewDidLoad
结束时销毁。因为没有任何参考。您应该在ViewController中创建一个属性:
var myClass: MyClass?
override func viewDidLoad() {
super.viewDidLoad()
myClass = MyClass()
myClass?.run()
}