问题标签 [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.

0 投票
1 回答
3237 浏览

swift - Swift 类错误 WKWebView 已被释放,而键值观察者仍向其注册

我从名为“myBrowser”的视图控制器中删除观察者时遇到问题。我有一个 ProgressView 栏,这是我添加观察者的代码:

在这个控制器中,我有一个按钮可以让我回到另一个控制器:

如果我添加

在 disa func 中,我的应用程序崩溃,因为“WKWebView 已被释放,而键值观察者仍向其注册”...我尝试将 removeObserver 放在 viewDidDisapper 中,在 viewWillDisappear 中,但如果我在 progressView 栏完全加载之前按下按钮,我的应用程序仍然崩溃.

我该如何解决这个问题?

0 投票
1 回答
719 浏览

swift - 带有对象参数的特定 UITextfield 的 Swift 2 addObserver

如果点击了特定内容,我想调用一个函数UITextField:据我了解,以下代码适用于来自窗口的通知:

但我想从特定的UITextField. 我尝试了以下代码但没有成功:

我搜索了很多,在这里发现了同样的问题(Swift 2 addObserver for specific textField with the object parameter),但答案对我不起作用。

我现在正在尝试 3 小时.... 任何帮助表示赞赏,非常感谢!

0 投票
2 回答
173 浏览

ios - 在ios中如何将观察者添加到方法中?

我正在使用一个插件,插件的pluginClass中有一个方法“A”。如果调用“A”,我想在 myCalss 中调用“B”。如:

但是我不想修改pluginClass中的代码。有没有办法将观察者添加到方法或类似方法中?感谢你。

0 投票
1 回答
603 浏览

objective-c - NSNotification 监听

我有多个 NSWindowController 实例,它们正在注册一个通知,以便在编辑发生时进行监听。

现在,当我从 windowcontroller 的一个实例编辑某些内容时,通知会被发布,并且该 NSWindowcontroller 的所有实例都会收听该通知,但我只希望已更新其详细信息的实例可以收听。

我怎样才能做到这一点?

0 投票
1 回答
376 浏览

ios - iOS 在哪里添加观察者

我使用 Objective-C 开发了一个 iOS tabBar 应用程序。当用户打开应用程序时,它位于 tab1 中。当用户点击 tab1 中的图片时,应用会跳转到带有图片名称的 tab3。

问题是在 tab3 中调用 addObserver 的位置,因为 tab3 永远不会打开?

0 投票
1 回答
140 浏览

swift - 在 Swift 2.1 中通过 NSNotificationCenter.defaultCenter() 在 NSArrayController 中监听项目选择的正确方法是什么

我通过 NSArrayController 使用绑定填充了 NSCollectionView。

All i am trying is to add an observer to either NSArrayController or NSCollectionView so that when ever the selection changes i got a call a function.

例如,这就是我为 NSTextField 更改所做的事情:

我正在寻找正确的方法来做到这一点。

0 投票
2 回答
1557 浏览

ios - 异常说发送到“框架”属性不符合 KVC 的对象

在我的习惯UITableViewCell中,我正在做这样的事情。

但我得到了这个例外。

由于未捕获的异常 NSUnknownKeyException 导致应用程序终止,原因:[addObserver:forKeyPath:@"frame" options:5 context:0x0] 被发送到“frame”属性不符合 KVC 的对象。

我不知道那个异常是什么,我该如何解决。请帮我。谢谢

0 投票
1 回答
524 浏览

swift - ios swift 3 addObserver如何在点击推送通知时从应用程序中的任何位置重定向到某个视图

我有一个应用程序,它的 tabBar 有 5 个选项卡,第一个让我们称之为“FirstView” - 具有以下代码:

我在 didReceiveRemoteNotification 中也有代码,其中包含以下代码:

我得到了 UIViewController 扩展,其中有 catchIt() 并定义了重定向逻辑:


此代码有 2 个问题: 1) 仅当最后打开的 View 是 FirstView 时,重定向才有效。如果是其他视图,那么在点击推送通知时我将永远不会被重定向

2)我在重定向时得到了我的历史记录,但它一直跟踪到 FirstView,即使目标控制器位于与 FirstViews 不同的另一个选项卡上(我尝试先重定向到所需选项卡,然后重定向到目标控制器,但仍然它提供了 FirstView 选项卡中的曲目)

我也尝试使用 didReceiveRemoteNotification - 将所有重定向逻辑写入其中,但它不起作用

非常感谢您的建议

0 投票
2 回答
546 浏览

ios - viewWillAppear/viewWillDisappear 中的 addObserver/removeObserver

我在 viewWillAppear 中调用 addObserver,在 viewWillDisappear 中调用 removeObserver。它似乎工作正常。但是,在 Xcode 崩溃日志中,我收到报告说,当我调用 removeObserver 时,一些客户崩溃了(昨天有 21 次崩溃......)。我没有任何客户报告他们崩溃了,所以我认为这是相对间歇性的。

我读到了将 removeObserver 调用封装在 @try/@catch 块中的建议,我可能会采用这种方法,但我很好奇为什么我的 removeObserver 失败了。我认为这是因为(不知何故)未添加通知。(还有其他原因吗?我是 iOS 新手,不熟悉崩溃日志……)

FWIW,我只从一个 viewWillAppear 调用 addObserver 并在一个 viewWillDisappear 中删除它。我试图复制这个问题,并且在没有首先调用 viewWillAppear 的情况下(在 NSLog 消息中)从来没有看到对 viewWillDisappear 的调用。

谢谢!

0 投票
2 回答
112 浏览

core-data - 将观察者添加到 NSArrayController

我想为我的 NSArraycontroller 创建一个 addObserver。这个想法是,如果来自 Core Data 的记录(绑定到 NSArrayController)发生更改,则记录将保存到 sqlite 数据库中。NSArraycontroller 绑定到一个 NSTableView。