问题标签 [nsnotificationcenter]

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

iphone - Tableview重新加载数据问题iphone sdk

我有一个 A 类,它是 uitableviewcontroller 的子类,还有一个 B 类,它实际上显示我的表格视图,其内容是 A 的子类。

有一个 xml 解析器可以解析我的 xml 并将内容存储在应用程序委托的 nsmutablearray 中。现在,我将此委托数组提取到 B 类中的本地 nsmutablearray 中,以最小化两个类(即委托和 B 类)之间的通信并显示它。

在 A 类中满足特定条件后,我正在调用 xml 解析器来重新填充委托数组,并且正在调用 B 类的 tableview 重新加载方法。问题是当我调用 tableview 的重新加载数据时,会调用 B 类的委托方法。但在此之前,我需要在 B 类的本地数组中获取这个委托数组。我该怎么做?

有人可以帮忙吗?

提前谢谢。

0 投票
3 回答
3673 浏览

iphone - iOS/iPhone 用户关于重复 NSNotification 观察的警告

这与其说是一个问题,不如说是对其他人的警告,以节省他们一些时间。

iOS 3/iPhone OS 3(我假设也是 Mac OS X 和 iOS 4)上的 NSNotificationCenter 具有以下行为:

如果您为确切的特定通知多次注册,NSNotificationCenter 将不会识别冗余,而是会向您发出与您注册观察一样多的通知。

这几乎不是您想看到的行为,而且几乎总是偶然的。

例子:

我希望我的视图控制器在新数据进入时接收来自单例网络对象的通知:

但早些时候我已经把同样的东西放进去viewWillAppear

请注意,它是完全相同的通知,解析为相同的观察者、发送者和通知名称。

在这种情况下,如果我不删除其中一个 addObserver 调用,我将收到重复通知到我的视图控制器。

在多线程环境中,这是一个充满伤害的世界。相信我。

只是把它放在那里,以防其他人遇到这样的事情。

0 投票
4 回答
422 浏览

iphone - 为什么 NSNotificationCenter 释放时会抛出异常?

这与其说是一个思考的问题,不如说是一个思考——为什么 NSNotificationCenter 在发布时会抛出异常?我还是 iPhone 开发的新手,因此还不了解 Cocoa 的内部结构,所以最好了解原因。

我将defaultCenter分配给一个变量,调用addObserver:selector:name:object然后释放前一个变量,但是对[notify release]的调用使应用程序崩溃。我没有在代码中做任何奇怪的事情,所以找出它为什么这样做会很有趣。

有人遇到过这个问题吗?

0 投票
1 回答
7906 浏览

objective-c - NSNotificationCenter 选择器未被调用

在我的 iPad 应用程序中,我在一堂课上注册了一条通知:

我的selectedList:方法如下所示:

然后在另一个类(a UITableViewController)中,我在选择一行时发布该通知:

我可以确认正在发布通知,因为“发布通知”已记录到控制台,但从未调用“已收到通知”,这意味着未收到通知并且未调用选择器。我无法弄清楚是什么原因造成的。

谢谢

0 投票
2 回答
221 浏览

cocoa - NSNotifications 只在同一个对象内发送

嘿那里,所以我有一个 NSObject 子类通过通知中心发送消息,我将通知发送到对象 nil 但唯一可以接收通知的对象是发送它们的对象

我同时发送了两个通知(以测试它是否是线程问题)

我的观察者也一样简单

它是一个单独的对象中的同一个观察者,它没有收到通知

0 投票
1 回答
1049 浏览

iphone - 将观察者添加到 NSString

在我的应用程序委托中,我有一个可以由类修改的 NSString。我想做的是让另一个班级观察这个 NSString 并在这个 NSString 改变时做出反应。

有人知道我该怎么做吗?

0 投票
1 回答
414 浏览

iphone - NSNotificationCenter 发件人平等标准

NSNotificationCenter 是否使用指针相等或其他一些标准(如 isEqual: 或 hash:) 来确定是否应将通知发送给观察者?

0 投票
1 回答
768 浏览

iphone - NSNotification - 其他类事件的实现?

你好,

在我的 ViewController.mi 中,在“viewDidLoad”中添加了一个 NSNotification,如下所示:

然后我有一个自定义的滚动视图类“MyScrollView”,我可以在其中滚动图像。当调用“scrollViewDidEndDecelerating:(UIScrollView *)scrollView{..”方法时,我在那里添加了一个 postNotification。

当我编译我的项目时,我收到一个错误并且应用程序崩溃:控制台输出:“No addObserver:selector:notifcatonName:object:”方法找到。

所以,这是我第一次使用 NSNotification,如果能在这里得到一些帮助会很棒。谢谢你的时间。哟西

0 投票
4 回答
1067 浏览

macos - Mac OS X - 监控应用程序启动?

我想为 Mac OS X 编写一个简单的菜单栏应用程序。用户只想在 Safari 打开时使用该应用程序。为了避免不必要地弄乱菜单栏,我想根据 Safari 是否打开来隐藏和显示菜单栏图标。

是否有一些通知可以让我的应用注册?我能想象的唯一解决方法是轮询正在运行的进程并查看是否启动了 Safari,但这似乎不是解决我的问题的一种优雅方式......

0 投票
1 回答
1050 浏览

objective-c - 用 Cocoa 监控苹果的“系统事件”

我想知道是否有办法编写一个监听 OS 系统事件的 Cocoa 应用程序,例如应用程序启动、窗口切换等。我的想法是观看 [NSNotficationCenter default] 的消息,但到目前为止我还没有没能找到很多。有没有人有什么建议?

谢谢!