jjzjj

removeObserver

全部标签

ios - 我应该把 removeObserver 从 NSNotification 放在哪里

我有三个viewControllers,我正在尝试从viewController3向viewController1和2发送通知。我认为最好的方法是使用NSNotification。这是我到目前为止所拥有的:在C类中-发布通知[[NSNotificationCenterdefaultCenter]postNotficationName:@"Updated"object:self];在B类A类和B类-先注册通知//viewDidLoad[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(handleU

ios - UIView 中的 NSNotifications 和 removeObserver

我创建了一个子类UIView:BeneficialsFormView*view=[[BeneficialsFormViewalloc]init];view.alpha=0;view.delegate=self;view.screenView=[self.delegatedisplayEntityForm:view];委托(delegate)调用是为了显示UIView并返回一个我用来禁用背景触摸的UIView(只是一个具有黑色背景颜色和降低的alpha的UIView)。在子类UIView中,我添加了键盘通知:-(void)awakeFromNib{DLog(@"fired");[[NSN

iphone - 当观察者变为零时观察者会自动移除吗?

我在viewDidLoad中使用addObserver:selector:name:object:。我在viewWillDisappear:animated:中使用removeObserver:name:object:来移除观察者。如果我通过将错误的参数传递给removeObserver:name:object:未能移除观察者,会发生什么情况?(例如,如果我将错误的通知传递给参数name或将错误的对象传递给object或Observer,则不会删除观察者)如果在调用removeObserver:name:object:后观察者仍然不是nil,我可以发现移除观察者失败,因为将调用noti

ios - 当 removeObserver 用于 Integer 属性时崩溃?

我创建了一个带有XIB的CustomView:UIView,为NSInteger属性加载和添加观察者,如下所示://自定义View.h@interfaceCustomView:UIView@property(nonatomic)NSIntegerinputStateControl;@end//自定义View.mstaticvoid*kInputStateControlObservingContext=&kInputStateControlObservingContext;@implementationCustomView-(id)init{self=[superinit];if(sel

objective-c - 我应该什么时候调用 removeObserver :forKeyPath from within a closing ViewController class that is observing a persistant Model class?

我有一个ViewController类,它有一个模型属性,我想在模型属性发生变化时观察它。在我的模型对象中,我有一个属性会在我的应用程序后台定期更新。当它更新时,我需要在我的ViewController中执行代码。为此,我在我的ViewControllerviewDidLoad方法中为我的模型创建了一个观察者。[ModelObjectaddObserver:selfforKeyPath:@"State"options:NSKeyValueObservingOptionNewcontext:nil];如您所见,这没什么特别的,只要我将View显示在屏幕上,观察方法就会正常运行。如果我从父

ios - 火力地堡 : How to removeObserver(withHandle:) after observeSingleEvent()?

我将Firebase数据库与swift结合使用。当我使用databaseReference.observe(...)进行观察时,我可以轻松地从DatabaseReference中删除观察者:databaseHandle=databaseReference.observe(.value,with:{(snapshot)in...},withCancel:{(error)in...})...databaseReference.removeObserver(withHandle:databaseHandle)我的问题是当我使用databaseReference.observeSingleEv

swift - 使用 Firebase,Swift removeObserver(withHandle 不会删除观察者

在Swift3中使用removeObserver(withHandle,不会在viewDidDisappear上删除观察者varquery=FIRDatabaseQuery()varpostRef:FIRDatabaseReference!varpostRefHandle:FIRDatabaseHandle?overridefuncviewDidLoad(){super.viewDidLoad()postRef=baseRef.child("Posts")}overridefuncviewDidDisappear(_animated:Bool){super.viewDidDisappe

iphone - NSNotification removeObserver问题

要么我脑残要么我对NSNotificationCenter缺乏一些了解问题是,如果我创建了一个观察者,并且在下一行将尝试像这样删除它:[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(removeAllVisibleMapViews)name:@"ClearVisibleMaps"object:nil];[[NSNotificationCenterdefaultCenter]removeObserver:selfforKeyPath:@"ClearVisibleMaps"];我明白了***Ter

iphone - NSNotification removeObserver问题

要么我脑残要么我对NSNotificationCenter缺乏一些了解问题是,如果我创建了一个观察者,并且在下一行将尝试像这样删除它:[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(removeAllVisibleMapViews)name:@"ClearVisibleMaps"object:nil];[[NSNotificationCenterdefaultCenter]removeObserver:selfforKeyPath:@"ClearVisibleMaps"];我明白了***Ter

swift - removeObserver() 是否移除所有观察者?

以下是否删除了所有按名称添加的NSNotificationCenter.defaultCenterView?NotificationCenter.default.removeObserver(self)如果我在viewDidLoad()的同一View中有以下内容,它们会被上面的单行删除吗?NotificationCenter.default.addObserver(self,selector:Selector(("method1")),name:UITextField.textDidChangeNotification,object:nil)NotificationCenter.def