问题标签 [addobserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 通过 Apple Watch 更新应用内容的简单方法
当我按下 AppleWatch 应用程序上的按钮时,我找不到一种简单的方法来更新我的 iPhone 应用程序中的视图。
我用 NSUserDefaults Observer 尝试过,如下所示:
iPhone App Viewcontroller(在 ViewDidLoad() 内):
在 Watchkit Extensions InterfaceController 中,我使用以下代码添加了一个带有按钮的 IBAction:
但是当我按下按钮时,什么也没有发生!如果我在我的 iPhone ViewController 中设置一个对象,它可以工作,但如果它是通过应用程序更新的!有人能帮我吗?
swift - 另一种方式(使用选择器)来设置通知观察者
我已经使用以下代码成功设置了通知观察者:
但是,我对上面的编码风格不感兴趣,因为我可能会输入或复制/粘贴错误的方法名称action:
。
所以我尝试以addObserver
不同的方式:NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector(/* What to pass in here??? */), name: notificationString, object: nil)
,我不知道要传递什么selector: Selector(...)
。
XCode 提示我:Selector(action(notification: NSNotification)
,但这是非法的。
在 Objective C 中,我可以在这个阶段轻松地选择一个方法,但我不知道如何在 Swift 中。
你试过这种语法吗?让我知道。
谢谢,
ios - addObserver 中的对象不同
我有以下代码:
并且该方法使用了 self 的一个属性:
有时(并非总是)处理程序中的 self 对象是不同的对象(并且是导致崩溃的未初始化对象)
我似乎无法弄清楚我做错了什么,以及如何避免这种情况。对象是否"self"
被复制?
xcode - AVPlayer 状态:消息已收到但未处理
我对观察者和 Swift/ObjC 很陌生,我正在尝试使用 Apple 文档中所说的来监控 AVPlayer 状态,但是当我尝试添加时,我得到的只是“收到消息但未处理”错误消息观察者。
如果我取消注册观察者,错误就会消失,但如果我在observeValueForKeyPath函数中添加println("test") ,则不会发生任何事情。
关于如何以简单的方式监控状态的任何想法?
swift - 为什么这个 [Swift] NSObject.addObserver 注册没有按预期调用 func observeValueForKeyPath() ?
有问题的代码如下。[我希望]这个问题在上面的问题中得到了完整的概述。提前致谢。MJB。
swift - Swift:哪个类拥有 NSObject.addObserver( ... options: .New ) 中使用的 .New 属性?
Swift 中 KVO 的当前最佳实践在这篇 SO 帖子中有很好的记录,看起来像这样:
我想通过将其封装在ObserversManager(例如)类中来简化内存管理问题,因此我可以执行以下操作:
问题是上面的func 观察者抛出了以下编译时错误,我目前无法修复,因为官方文档没有详细说明答案。
Could not find member 'New'
ios - 为什么要添加一个观察者来立即删除它
我最近查看了一些快速代码,发现了这一点:添加观察者,然后立即将其删除。这背后的逻辑是什么?
c++ - .cpp 文件中的 UIView 观察者
如何在 .cpp 文件中向 UIView 框架添加观察者
像这样(目标-c):
[view addObserver:videoAd forKeyPath:@"frame" options:0 context:NULL];
ios - 带有对象参数的特定文本字段的 Swift 2 addObserver
据我了解object
,该方法的参数addObserver
是您要从中接收通知的对象。大多数时候我认为它是nil
(我认为这是因为所有对象都需要指定类型的通知)。在我的特殊情况下,我在屏幕顶部和屏幕底部有一个文本字段,我希望视图仅在用户点击底部文本字段时向上移动,而不是顶部。所以我调用以下方法viewWillAppear
和选择keyboardWillShow:
器keyboardWillHide:
调用重新定位视图框架的方法。我尝试将object
参数保留为,nil
但这会从两个文本字段接收通知。我尝试将object
参数设置为self.bottomTextField
(如上所示),但没有收到来自任一文本字段的通知。我的问题是双重的。首先,我addObserver
是否正确理解了该方法(尤其是object
参数),其次,为什么它没有从self.bottomTextField
. 谢谢!
解决方案: 我知道这不是我所问的确切问题的解决方案,但我最终在仅单击底部文本字段时使视图向上移动的操作如下:
然后在keyboardWillShow:
我的方法中:
希望这会有所帮助!