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

iphone - NSNotification 是否保留对象?

我的问题是关于添加到-postNotificationName:object: userInfo:方法中的对象。

NSNotification 是否保留对象? (以类似于 NSMutableDictionary 或 Array 的方式)......这意味着我可以在发布通知后释放对象

下面是帮助描述我的问题的代码片段......释放对象是否有效。指向 Apple 文档的链接可能会很有帮助。

0 投票
1 回答
3129 浏览

objective-c - NSNotification、addObserver 和 removeObserver - ViewDidUnload 和 dealloc 中的 removeObserver?

我想添加一个视图控制器作为通知的观察者。

当调用选择器方法时,我会提醒用户。我希望此警报仅在此视图控制器是顶视图控制器时出现。

我想将它添加为viewDidLoad方法中的观察者。但是将视图控制器作为观察者在哪里更好呢?

如果我同时在viewDidUnload和中删除它会不会有问题dealloc

0 投票
1 回答
134 浏览

objective-c - 可达性 - 早期版本

当与 Web 服务器的连接丢失时,我会提醒用户。我认为 Apple Reachability 类可以解决我的问题,但我会为 ios < 4 构建。

所以,我的问题是:我在哪里可以找到早期版本的可达性?

是否可以为 ios < 4 构建具有可达性 2.1 版?

0 投票
2 回答
148 浏览

iphone - 多个下载的 NSnotifications

我有一个解析器类和一些视图控制器类。在解析器类中,我发送请求并接收异步响应。我想要多个下载,比如每个视图控制器一个。所以我在每个类中注册了一个观察者:

然后在中发布通知:

但是在运行代码时,第一个视图控制器工作正常,但是在下载和解析器类无限发布通知之后,第二个视图控制器会进入第一个类的 dataDownloadComplete: 方法,尽管我每次都在选择器中指定了不同的方法名称。我不明白错误可能是什么。请帮忙。提前致谢。

0 投票
5 回答
25883 浏览

ios - 如何避免添加多个 NSNotification 观察者?

现在,API 似乎没有提供一种方法来检测是否已经为特定的 NSNotification 添加了观察者。避免添加多个 NSNotification 观察者的最佳方法是在您的末端维护一个标志以进行跟踪之外的最佳方法是什么?有没有人已经创建了一个类别来促进这一点?

0 投票
3 回答
3863 浏览

iphone - 委托和 performSelectorOnMainThread

我对这两个的使用有点困惑。

我有一个后台线程,它负责下载数据并将其应用到 iOS 设备中的核心数据数据库。

后台线程中的代码调用共享实例类 ProgressController 来更新 UI 上的进度(我知道它在主线程中运行)。ProgressController 然后有一个委托,由顶部的视图控制器分配。

一切正常,除了后台线程启动后 UI 不会更新。我知道委托被调用是因为我让 NSLogs 触发了正在传递的文本。

现在我读到我应该使用 performSelectorOnMainThread,但鉴于委托正在触发,这似乎是多余的。

我是否应该使用 performSelectorOnMainThread 而根本不使用委托。

我错过了什么吗?

如果有人能解释一下,我将不胜感激。

谢谢,

克里斯。

在后台线程内

……

在 ProgressController.h 中

在 ProgressController.m #import "ProgressController.h" 中

在视图控制器内

0 投票
2 回答
534 浏览

iphone - NSNotification 查询——递归视图控制器多次调用和注册相同的通知

我有一个关于 NSNotificationCenter 的问题。我有 3 个视图控制器正在注册相同的推送通知,应用程序的流程如下:

情况1:

  1. View Controller 1 注册通知
  2. 视图控制器 2 被初始化并从视图控制器 1 显示为模态
  3. View Controller 2 注册通知
  4. 视图控制器 3 被初始化并从视图控制器 2 显示为模态
  5. View Controller 3 注册通知
  6. 通知被触发

我的所有视图控制器(VC1、VC2 和 VC3)都会响应这个通知吗?我只希望我最顶层的视图控制器响应此通知。如果视图层次结构中存在其他 VC,则会单独触发通知。

案例二:

  1. View Controller 1 注册通知
  2. 视图控制器 1 得到一个自我调用,并在前一个视图控制器上显示为模态。
  3. View Controller 1 再次注册通知
  4. 步骤 2 和 3 再重复一次。
  5. 通知被触发

在这里,我希望我的顶级 VC 响应此通知。如果视图层次结构中存在其他 VC,则会单独触发通知。6. 通知被触发

0 投票
2 回答
544 浏览

iphone - 连接通知以恢复 NSOperationQueue

我需要从 Internet 下载一些图像,现在我正在使用NSOperationQueue.

我想知道是否可以接收 Internet 连接通知以暂停/恢复下载。

我不需要冻结下载,但是能够将它(NSOperation)放回队列并等待连接再次启动它会很棒。

有任何想法吗?:)

0 投票
4 回答
290 浏览

iphone - NSNotification 问题

当我们收到我的登录回复时,我想在我的整个应用程序中显示警报框

怎么可能?

我们可以使用NSNotification吗?

0 投票
2 回答
421 浏览

c++ - 如何在 C++ 类中接收来自 Objective-C 的 NSNotifications?

我有一个 Objective-C++ 类,它将自己添加为 Cocoa NSView 上事件的观察者。我希望能够将 NSNotifications 发送到 C++ 类的方法,而不是 Objective-C 方法或块。我怎样才能做到这一点?

我的情况是这样的:

  • A - Objective-C++ 类
  • B - NSView

B 被 A 封装。我想收到 B 的事件之一的通知。但是,处理该事件的方法必须具有对包含 B 的 A 实例的引用。