gpt4 book ai didi

ios - 有没有办法指定 NSNotifications 的发送者/接收者的粒度?

转载 作者:行者123 更新时间:2023-11-29 10:49:24 25 4
gpt4 key购买 nike

考虑以下示例:

  • 我有一个有书的图书馆,书有难度和类型。
  • 每本书都是某个对象的一个​​实例,可以由 View Controller 呈现(即 Collection View ,其中每个单元格都是一本书,可能是仅显示一本书的详细 View )。
  • 这些书籍的数据可以通过某种同步方法在后台更新。有可能只更新一本书,或者可能只更新一种类型。

我希望类(主要是 View )收到更新通知。我希望这些通知非常清楚。所以当所有非小说类书籍更新时,这是应该通知的。我当然可以为每种类型使用单独的通知名称,但如果我们谈论的是整个库,包含数千个对象的大 Collection View 将意味着注册太多观察者。在这种情况下,观察者可能会选择接收关于书籍的任何通知,可能是任何类型的。

我在 NSNotification 中缺少(或似乎无法弄清楚)的是某种粒度来指定此需求。简而言之:

  • 有没有办法更具体地告诉 NSNotification 我想接收什么样的通知/将通知发送给谁?
  • 或者,我可以将对象附加到通知吗?如果是这样,我可以在此对象中对通知的范围(如元数据)进行建模,并让接收方检查此数据。

最佳答案

是的,你可以这样做,只需指定你的对象并将你的元数据打包到字典中并将你的通知附加为 userInfo。并使用此方法发布通知:

- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo

然后您可以像这样访问您的通知:

- (void)handleNotification:(NSNotification *)noti{
NSDictionary *userInfo = [noti userInfo];
YourObject *object = [noti object];
}

关于ios - 有没有办法指定 NSNotifications 的发送者/接收者的粒度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21087344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com