iphone sdk中 NSNotification 的用途是什么?
由于
答案 0 :(得分:3)
我知道这通常不是回答问题的好方法,但是RTFM。
NSNotification对象封装信息,以便可以通过NSNotificationCenter对象将其广播到其他对象。 NSNotification对象(称为通知)包含名称,对象和可选字典。该名称是标识通知的标记。对象是通知的海报想要发送给该通知的观察者的任何对象(通常,它是发布通知的对象)。字典存储其他相关对象(如果有)。 NSNotification对象是不可变对象。
您可以使用类方法notificationWithName:object:或notificationWithName:object:userInfo:创建通知对象。但是,您通常不会直接创建自己的通知。 NSNotificationCenter方法postNotificationName:object:和postNotificationName:object:userInfo:允许您方便地发布通知而不先创建通知。
答案 1 :(得分:1)
NSNotifications允许您在事件发生时调用方法。
例如,如果你有一个MPMoviePlayer并且想要完成某些事情,你可以使用以下代码:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:yourMoviePlayer.moviePlayer];
或者如果您想在设备旋转时执行某些操作:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:self];
答案 2 :(得分:0)
你应该看一下Notifications section in the Cocoa Fundamentals Guide。您需要了解有关通知的任何信息:从定义到用例。
答案 3 :(得分:0)
就事件而言,NSNotifications是授权的替代方案。委派可用于通知事件的单个代表,而通知可用于通知任意数量的接收者。通知将发送到主通知中心,主通知中心会通知已注册通知的每个对象。
一个重要的区别是,通过委托,您可以收到代表对事件的响应,而使用NSNotifications,您只需发送通知,但您不知道接收者或他们对通知的响应。
答案 4 :(得分:0)
如果您想从iOS接收提醒,请注册UINotification。因此,如果您想在插入配件或插入电视时执行某些操作,则可以为其注册UINotification,并在事件发生时调用应用中的方法。