草庐IT

nsnotifications

全部标签

dictionary - 如何使用 Swift 访问通过 NSNotification 传递的字典

我有发送通知的代码(其中serialNumber是一个字符串):vardataDict=Dictionary()dataDict["Identity"]=serialNumberdataDict["Direction"]="Add"NSNotificationCenter.defaultCenter().postNotificationName("deviceActivity",object:self,userInfo:dataDict)接收此通知的代码:funcdeviceActivity(notification:NSNotification){//Thismethodisinvo

ios - 如何在 swift 3.0 中使用 NotificationCenter 和在 swift 2.0 中使用 NSNotificationCenter 传递数据?

我正在我的swiftios应用程序中实现socket.io。目前在几个面板上我正在监听服务器并等待传入​​的消息。我通过在每个面板中调用getChatMessage函数来做到这一点:funcgetChatMessage(){SocketIOManager.sharedInstance.getChatMessage{(messageInfo)->Voidindispatch_async(dispatch_get_main_queue(),{()->Voidin//dosthdependingonwhichpaneluseris})}}但是我注意到这是一个错误的方法,我需要改变它-现在我想

ios - 如何在 swift 3.0 中使用 NotificationCenter 和在 swift 2.0 中使用 NSNotificationCenter 传递数据?

我正在我的swiftios应用程序中实现socket.io。目前在几个面板上我正在监听服务器并等待传入​​的消息。我通过在每个面板中调用getChatMessage函数来做到这一点:funcgetChatMessage(){SocketIOManager.sharedInstance.getChatMessage{(messageInfo)->Voidindispatch_async(dispatch_get_main_queue(),{()->Voidin//dosthdependingonwhichpaneluseris})}}但是我注意到这是一个错误的方法,我需要改变它-现在我想

swift - 如何在 Swift 3 中创建自定义通知?

在Objective-C中,自定义通知只是一个普通的NSString,但在Swift3的WWDC版本中它应该是什么并不明显。 最佳答案 有一种更简洁的(我认为)方法可以实现它extensionNotification.Name{staticletonSelectedSkin=Notification.Name("on-selected-skin")}然后就可以这样使用了NotificationCenter.default.post(name:.onSelectedSkin,object:selectedSkin)

swift - 如何在 Swift 3 中创建自定义通知?

在Objective-C中,自定义通知只是一个普通的NSString,但在Swift3的WWDC版本中它应该是什么并不明显。 最佳答案 有一种更简洁的(我认为)方法可以实现它extensionNotification.Name{staticletonSelectedSkin=Notification.Name("on-selected-skin")}然后就可以这样使用了NotificationCenter.default.post(name:.onSelectedSkin,object:selectedSkin)

swift - 在 Swift 2.1 中使用泛型的 NSNotification 子类

无法使用通用payload对象创建NSNotification的子类。获取运行时错误或编译错误(请参阅下面代码中的注释)。Swift2.1甚至有可能吗?任何想法表示赞赏。谢谢!运行时错误,因为NSNotification是抽象类(类簇)。编译错误,因为应使用指定的初始化程序。publicclassNotification:NSNotification{privatevar_name:Stringprivatevar_object:AnyObject?privatevar_payload:T?publicoverridevarname:String{return_name}publico

ios - KVO 与 NSNotifications

这个问题在这里已经有了答案:NSNotificationVSKVO(1个回答)关闭8年前。使用KVO代替NSNotification的更“通用”(并且我认为更强大)的功能有什么优势吗?

ios - 在哪里删除 Swift 中 NSNotification 的观察者?

由于viewDidUnload和dealloc()不可用,我应该在哪里移除Swift中NSNotification的观察者? 最佳答案 从iOS9(和OSX10.11)开始,如果您不使用基于block的观察者,您不需要自己删除观察者。系统会为您做这件事,因为它会尽可能地为观察者使用归零弱引用。如果您正在使用基于block的观察者,请确保您使用闭包捕获列表中的[weakself]弱捕获self,并删除观察者在deinit方法中。如果您不使用对自身的弱引用,则永远不会调用deinit方法(并因此删除该观察者),因为Notificatio

objective-c - 特定对象的 nsnotification

我正在使用xcode和objectivec开发ios应用程序ios5+。好的,目前正在处理nsnotifications,我只是需要一些说明,因为我有点困惑。假设我有一个ViewController,我添加了一个观察者,就像这样[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(showContent:)name:kTPSShowContentNotificationobject:self];对象设置为self的地方。我认为这意味着如果从该对象发送,它只会从该通知中查找。我错了吗?在代码的其他地方

ios - 在 xamarin 中获取 NSNotification 的观察者

我在单独的类中有一个静态方法来处理UIKeyboard.WillHideNotification&UIKeyboard.WillShowNotification以便它可以在整个应用程序中使用。我通过以下方式在ViewController中添加观察者:-NSNotificationCenter.DefaultCenter.AddObserver(UIKeyboard.WillHideNotification,KeyboardAppearanceUtilities.OnKeyboardNotification);如何在KeyboardAppearanceUtilities类中声明的通知Ac