如何在Objective-C中发送和接收带事件的数据?

5
我创建了一个程序,通过NSNotification发送和接收事件。现在我需要在事件中发送数据。有没有人可以建议我如何在Objective-C编码中实现这一点?
1个回答

6

有两种方式 - 一种是你可以通过通知将任何一个对象传递进去 - 查看

+ (id)notificationWithName:(NSString *)aName object:(id)anObject

第二件事是,您还可以传递一个可选的字典,其中包含任意数量的对象,只需确保双方都同意用于存储和检索对象的键即可。调用方式如下:
+ (id)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)userInfo

在任何一次调用中,您都可以将anObject或userInfo设置为nil。

以下是直接发送通知的示例调用(如果不想先构建通知,则不必这样做):

[[NSNotifcationCenter defaultCenter] postNotificationName:@"MyNotification" object:myObjectToSend];

还有一种带有userInfo的变体调用,就像通知构造函数一样。


感谢您的回复。您能否给出一个使用您所指定的第一种方法来完成它的示例程序呢? - Cathy
如果你无法从给定的信息中找到答案,那么很可能会立即遇到问题。这不是最简单的东西,但也不是火箭科学。首先去阅读NSNotificationCenter文档。 - bbum
如果您已经在使用通知,那么您是不是已经在使用notificationWithName:object:了呢?这是发送通知的最简单方法...不过我还是会添加一个示例。 - Kendall Helmstetter Gelner
谢谢您的回答。请添加示例。 - Cathy
在那里,就是那个“postNotificationName:object:”调用。我概述的第一种方法是在发送通知之前手动构建通知,但实际上没有必要这样做,我总是使用最后一种形式的调用。 - Kendall Helmstetter Gelner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接