问题标签 [nsnotifications]

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 回答
320 浏览

ios - NSNotification 如果数据改变

假设我有一个解析 RSS 提要的程序。

我有一个在不断检查更新的线程中运行的方法。如果找到更新,则会创建一个 NSNotification。这是一个愚蠢的实现吗?

是否可以在 NSNotification 中传递自定义参数,例如更新的 elementId。

0 投票
1 回答
6350 浏览

objective-c - 区别keyboardDidShow和keyboardWillShow

我有个问题。keyboardDidShow和 和有什么不一样keyboardWillShow?如果我把它放在我的viewDidLoad

这是什么意思?对不起,如果这是一个简单的问题,但我不确定。如果我启用视图的旋转,则keyboardDidShow调用两次。

另一个问题:keyboardWillHide?它的功能是什么?

谢谢

0 投票
2 回答
185 浏览

uiviewcontroller - NSNotificationCenter:它是否可以监听其他没有明确发布通知的类?

我试图在不修改方法中的实际代码的情况下侦听UIViewController被触发的方法(-viewDidLoad-viewDidAppear-viewDidUnload等)。-viewDidDisappear这是不可能的吗?我试图让另一个类中的观察者监听那些被调用的方法,但我不想添加postNotifications:到视图控制器中。我一定要吗?

0 投票
3 回答
2772 浏览

iphone - 视图控制器有时不会收到 NSNotification

所以,我只是在各种情况下测试 NSNotifications,而这一个令人困惑。如果您能帮助我理解 NSNotifications,我将不胜感激!

我有一个导航控制器。

我有一个名为“Add”的 UIBarButtonItem,它发布通知 DidAddNotification

如果我单击添加,它会将我推到 view2。

我再次推动自己查看 3。

从视图 3 中,我 popToRootViewControllerAnimated:YES 并返回到 1。并再次遵循相同的程序。

所以这就是控制的方式......

这是输出(NSLogs)

我第一次按添加:

我再次按添加:

我再按一次添加:

谁能告诉我为什么

  1. NSLog 第一次没有在视图 3 中打印,但其他时间都打印?
  2. 为什么 NSLog 第一次在视图 2 中打印而不再打印?

代码:

0 投票
2 回答
1153 浏览

objective-c - NSNotification 没有到达所有的观察者

NSNotification用于一组特定的事件。我有三个视图,因此我在视图 1 上有一个“添加”按钮,单击它可以让我从视图 1 导航到视图 2 再到视图 3,然后再返回到视图 1。

1->2->3->1

NSNotification如果单击视图 1 上的 ADD 按钮,我将使用s 推送视图控制器,并根据视图 1 发布的通知分别更新其他视图。

当通知从视图 1 发送时,只有视图 2 接收到它。视图 3 没有。

这怎么可能?观察者的代码在视图 2 和视图 3 上完全相同。

这是在视图 2 和视图 3 中添加观察者的代码:

我也在dealloc()函数中正确地删除了它们。

0 投票
2 回答
869 浏览

objective-c - 有没有像线程一样调用 NSNotificationQueue ?

是否可以运行通知,例如

以便“-(void)testMethod”继续执行 NSLog,...,而通知调用的方法确实完成了。有没有办法解决它,没有线程?

0 投票
14 回答
85253 浏览

objective-c - Objective-C:在哪里删除 NSNotification 的观察者?

我有一个客观的C类。在其中,我创建了一个 init 方法并在其中设置了一个 NSNotification

我在哪里设置[[NSNotificationCenter defaultCenter] removeObserver:self]这个类?我知道对于 a UIViewController,我可以将它添加到viewDidUnload方法中 那么如果我刚刚创建了一个目标 c 类需要做什么呢?

0 投票
1 回答
78 浏览

objective-c - 目标 C:在一个类中设置 2 个 NSNotifications 有什么问题吗?

我有一个实现了 2 个 NSNotifications 的类

我只想检查是否可以在一个班级中设置 2 个观察员?此外,当我删除观察者时,我只删除了 dealloc 方法中的一个观察者。这是一个问题吗?

0 投票
3 回答
1210 浏览

objective-c - 具有多个观察者的单例的 KVO?

我目前正在考虑是否使用 KVO 或 NSNotifications 在我的单例属性发生更改时提醒我的 iOS 应用程序中的多个对象。

由于需要通知更改的所有对象都引用了单例,因此 KVO 似乎是自然的解决方案。但是,我从未将 KVO 与单例和多个观察者一起使用,所以我不知道这种模式是否可取甚至可能。

在具有多个观察者的单例中使用 KVO 是一个好主意(甚至可能)吗?

0 投票
1 回答
188 浏览

ios4 - iPhone 通知类型的应用程序应该如何不显眼地向用户显示有通知

我有一个程序,它基本上只是查询一个 web 服务,如果返回任何数据,它将向用户显示该信息,但如果没有什么可显示的,它将等到下一个预定时间并运行。

现在它只是在用户面前放置一个表格,状态栏中没有任何内容可供他们选择并查看实际信息。

所以,我有两个问题。

  1. 有没有更好的方法来向用户显示通知信息,且干扰较少?
  2. 带有 UITable 的视图是否应该有一个按钮在完成时关闭视图?

更新:

看来我的问题还不够清楚,所以我的数据正确显示在表格中。

我的问题是在显示数据之前。

目前,计时器会定期触发我的方法,如果用户有任何未决事件,表格将显示在他们面前。

这是糟糕的设计,IMO,所以我想要一些简单的方法让他们知道有一些待处理的事情,他们可以在有时间的时候查看它。

理想情况下,我会在状态栏中显示他们有一些事件,但似乎这不是我能看到的选项。

一种选择是看看我是否可以让桌子最小化并发出一些声音或振动,但这对用户来说可能很麻烦,因为它可能会打断他们正在做的事情。