问题标签 [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 投票
3 回答
660 浏览

iphone - Windows Phone 7 相当于 NSNotificationCenter?

我是 WP7 的新手,来自 iPhone 开发。在 iPhone 上,我习惯于使用 NSNotificationCenter 来通知我的程序一些事情。NSNotificationCenter 是开箱即用的内置框架。WP7中有类似的东西吗?我偶然发现了 MVVM-Light Toolkit,但我不确定如何正确使用它。

我想做的事:

  • 注册到 Notification-Id 并在收到 Notification-Id 时执行某些操作
  • 使用 Notification-Id 和上下文发送通知(传递给观察者的对象)
  • 每个注册到相同 Notification-Id 的人都会收到通知

就像这样:注册

发送:

注册示例:

发送...

0 投票
1 回答
1512 浏览

iphone - Cocoa Touch - 在加载 UITabBar 视图时显示活动指示器

我有一个带有两个视图的 UITabBar 应用程序,它们在“viewWillAppear”方法中从 Web 加载大量数据。我想在检索此数据时显示进度条或活动指示器,以确保用户知道应用程序未冻结。

我知道以前有人问过这个问题。我只是需要澄清一下似乎是一个相当好的解决方案

我已经在示例中使用了代码。该问题的原始提问者后来通过将数据检索放入另一个“线程”来解决他们的问题。我理解线程的概念,但我不知道我会如何暗示这一点。

通过研究,我发现我需要将所有繁重的数据检索转移到后台线程中,因为所有 UI 更新都发生在主线程中。

如果有人愿意为我提供一个例子,我将非常感激。我可以根据需要提供部分现有代码。

0 投票
4 回答
8578 浏览

iphone - 可达性网络更改事件未触发

我的 iphone 应用程序非常简单,只有一个视图可以处理所有事情,在 viewDidLoad 中,我检查我们是否有互联网连接,如果有,我们从网络加载,如果没有,我们从本地资源加载。这很好用。

为了测试我的 handleNetworkChange 事件,我关闭了所有蜂窝数据但保持 wifi 开启。在wifi范围内,我启动了应用程序,一切正常。然后我走出 wifi 的范围,但我的 handleNetworkChange 从未触发(使用 uiAlertView 测试)。站在 wifi 范围之外,我的应用程序可以很好地启动离线消息。

我怀疑这是 ViewController 生命周期的问题,是否应该将此代码放在 AppDelegate 函数中?可能这是一个更好的设计开始。

0 投票
1 回答
9458 浏览

iphone - iphone通知导致“无法识别的选择器发送到实例......”

简而言之,我在(in ) 中注册了以下NSNotification侦听器:ClassAviewDidLoad

我在中声明了选择器ClassA.h

实施如下:

ClassB(在tableView:didSelectRowAtIndexPath:方法中)我有:

这一切都以一条错误消息告终:

“无法识别的选择器发送到实例”

playSong调用方法之前。

有人可以帮我吗?从一个控制器向另一个控制器发布通知时我忘记了什么?

0 投票
2 回答
270 浏览

iphone - 帮助 NSNotifcation 和异步下载

我正在从一个视图向另一个视图发送通知。我的问题是,我在 cellForRowAtIndexPath 方法中调用的视图中的通知仅在表格视图滚动时发送。下载图像后,如何停止此操作并使其发送通知?这是我的代码:https ://gist.github.com/756302

谢谢

MKDev

0 投票
3 回答
5407 浏览

objective-c - AppDelegate中的NSNotification postNotificationName但ViewController中的NSNotificationCenter?

我无法在 NSNotificationCenter 中执行选择器方法 receiveChatText,我想知道问题是否是因为 NSNotification postNotificationName 在 AppDelegate.m 中但 NSNotificationCenter 在 ViewController.m 中?IE 可以 postNotificationName 知道 NSNotificationCenter 在另一个 viewController 文件中还是我需要告诉它的东西?

在 viewController.m 我有

在顶级 AppDelegate.m 文件中,我有以下内容:

有什么想法可以阻止在调用 didReceiveMessage 时执行 receiveChatText 吗?

0 投票
2 回答
641 浏览

iphone - 在 NSNotificationCenter 上放置断点

有什么办法可以打破 NSNotificationCenter 发布具有特定名称的注释?我有一堂课由于某种原因没有收到预期的注释......

编辑澄清:

我为 MPMoviePlayerPlaybackDidFinishNotification 添加了一个观察者,但由于某种原因,通知似乎没有按预期发送。这里的一个正常错误是我的对象出于某种原因取消了自己作为观察者的订阅(即使我发现我在该部分的代码看起来有效)。所以,我的意图是是否有可能打破 NSNotificationCenter 实际上传递某种类型的 NotificationName,在这种情况下是 MPMoviePlayerPlaybackDidFinishNotification...

0 投票
3 回答
1404 浏览

iphone - 如何获取 UIAccessibilityVoiceOverStatusChanged 通知

如何实现获取UIAccessibilityVoiceOverStatusChanged通知?

我尝试如下,但没有任何反应:

0 投票
4 回答
25125 浏览

macos - OS X:检测系统范围的 keyDown 事件?

我正在为 Mac OS X 开发一个打字导师应用程序,即使应用程序不在焦点上,也需要将击键转发给它。

有没有办法让系统将击键转发到应用程序,可能通过 NSDistributedNotificationCenter?我用谷歌搜索了自己的愚蠢,并没有找到答案......

编辑: 下面的示例代码

感谢@NSGod 为我指明了正确的方向——我最终使用该方法添加了一个全局事件监视器addGlobalMonitorForEventsMatchingMask:handler:,效果很好。为了完整起见,我的实现如下所示:

对我来说,棘手的部分是使用块,所以我会给出一些描述以防它帮助任何人:

关于上面的代码需要注意的是,它都是对 NSEvent的单一方法调用。该块作为参数直接提供给函数。你可以把它想象成一个内联委托方法。只是因为这需要一段时间才能让我明白,所以我将在这里一步一步地完成它:

这第一位没有问题。您正在调用 NSEvent 上的类方法,并告诉它您要监视哪个事件,在本例中为 NSKeyDownMask。可以在此处找到支持的事件类型的掩码列表。

现在,我们来到了棘手的部分:处理程序,它需要一个块:

我花了一些编译错误来解决这个问题,但是(感谢 Apple)它们是非常有建设性的错误消息。首先要注意的是克拉^。这标志着区块的开始。之后,在括号内,

其中声明了您将在块中用于捕获事件的变量。你可以称之为

没关系,您只会在块中使用该名称。然后,这就是它的全部内容。确保关闭你的花括号和括号以完成方法调用:

你完成了!这确实是一种“单线”。在应用程序中执行此调用的位置无关紧要——我在 AppDelegate 的 applicationDidFinishLaunching 方法中执行此操作。然后,在该块中,您可以从您的应用程序中调用其他方法。

0 投票
7 回答
35339 浏览

ios - iOS/iPhone 可达性 - 如何使用 Reachability.m/.h 仅检查互联网何时丢失/无法访问

目前我正在使用苹果reachability.m/.h的类,它可以工作,除了它会通知我任何更改,因为我只想在网络无法访问时通知用户。目前,如果我有互联网连接,然后松开它告诉我的网络。但是,当您重新连接到网络时,它也会告诉我,这是我不想要的。我希望它只在丢失/无网络时告诉我。

我相信这与电话有关:

调用时-[NSNotificationCenter addObserver:selector:name:object:],该名称是否有任何其他功能,然后是字面上的名称?这是我第一次使用 NSNotificationCenter,所以我对这件事并不精通。

编辑:

这是我的 checkNetworkStatus 函数:(问题是我得到“NotReachable”,因为网络连接恢复并且 NSAlert 多次关闭)

}