34得票2回答
iOS如何从通知中心移除观察者:我能一次性为所有观察者调用吗?即使没有观察者存在?

我在大多数视图控制器中注册了三个观察者。有些视图控制器有更多,有些视图控制器有更少,但我想在父类中包含部分注册和注销过程。如果没有观察者,调用注销会有问题吗?一次注销对于这三个观察者足够吗?- (void)registerForKeyboardNotifications { [[NSN...

32得票4回答
如何在包含扩展的iOS应用程序和扩展之间进行通信(不是主机应用程序)

简言之:是否可能在iOS应用程序和其扩展之间发送实时消息或通知? 我正在编写一个iOS应用程序,其中包括一个扩展,它们都属于同一App Group并共享相同的CoreData(SQLite数据库)。我可以从应用程序和扩展中使用CoreData读取和写入数据库,它们都共享相同的内容。 我的问...

30得票5回答
为什么我的NSNotification观察者被多次调用?

我在一个应用程序中使用了多个视图控制器。在其中一个视图控制器上,观察者被初始化如下:[[NSNotificationCenter defaultCenter] removeObserver:self name:@"MyNotification" object:nil]; [[NSNotific...

29得票6回答
“NSNotification.Name”类型没有“keyboardDidShowNotification”成员。

我在使用Swift 4.2时遇到了这个错误: Type 'NSNotification.Name' has no member 'keyboardDidShowNotification' 这是我的代码:NotificationCenter.default.addObserver(s...

29得票3回答
NSNotification addObserver中的参数`object`是什么?

我的一个名为Message.m的类正在使用以下代码来发布一个带有对象sentObject的通知:NSDictionary *sentObject = [NSDictionary dictionaryWithObjectsAndKeys:draftData.arr,@"data", nil]; ...

28得票3回答
CNContactStoreDidChangeNotification被多次触发。

当应用程序处于后台状态时,我能够观察到联系人数据库发生更改时的CNContactStoreDidChangeNotification。我很确定在NSNotificationCenter中只添加了一个观察者。问题在于NSNotificationCenter会发布多次(2、3、5甚至更多次),尽管...

27得票3回答
如何为NSNotification编写单元测试

我正在使用Swift工作,想要刷新页面,因此我正在使用通知发送它。我在一个ViewController中发布通知,在另一个ViewController中添加观察者,它可以完美地运行。我想做的是在Swift中为它添加单元测试。我查了很多网站,但是没有成功。我是Swift的新手,不知道从哪里开始。...

27得票2回答
removeObserver()方法是否会删除所有观察者?

以下代码是否可以移除所有已经以名称添加到 NSNotificationCenter.defaultCenter 中的视图通知?NotificationCenter.default.removeObserver(self) 如果我在同一个viewDidLoad()中有以下内容,它们是否会被上面的...

26得票6回答
NSManagedObject的hasChanges为true,而changedValues为空

我正在尝试在NSManagedObjectContextWillSaveNotification上观察单个NSManagedObject的更改: 我想要观察每个NSManagedObject的变化,这是通过使用NSManagedObjectContextWillSaveNotificatio...

25得票12回答
Swift 3中如何编写键盘通知

我正在尝试将这段代码更新为Swift 3:NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotifi...