gpt4 book ai didi

ios - NS 通知混淆 Swift 3

转载 作者:行者123 更新时间:2023-11-28 08:25:58 25 4
gpt4 key购买 nike

目前正在我的第一个 IOS 应用程序中实现 NS Notification。我想使用它,以便当用户成功购买时,产品名称被广泛抛出,并且监听器运行解锁产品的方法。查看教程时,我对它的工作原理感到困惑,如果可以解决这些问题,我将不胜感激。我将在下面发布代码以及我认为它的作用,如果它们有任何错误,请指出。

第 1 行 - Let 是一个不可更改的变量,NotificationName 是变量的名称。 Notfication.Name 将名称声明为“通知标识符”

let notificationName = Notification.Name("NotificationIdentifier")

第 2 行 - 我认为这里的“NotificationName”是 let 上面定义的监听器的 ID。如果我想传入一个对象,最后会完成吗?通过对象标签。 IE 对象:productsRequest

NotificationCenter.default.post(name: notificationName, object: nil)

第 3 行这是监听器,通知名称必须与帖子匹配才能收到我假设的正确通知。添加观察者 self 选择器让我感到困惑,如果我从上面的帖子第 2 行传入一个对象,即对象产品请求。这是否必须在监听器中声明?

NotificationCenter.default.addObserver(self, selector: #selector(YourClassName.methodOfReceivedNotification), name: notificationName, object: nil)

任何有助于加深我理解的解释都将受到赞赏。抱歉,如果这些看起来像是一个基本问题,那么我在阅读教程时如何努力理解其中的某些元素。

谢谢

最佳答案

  1. 正确。
  2. 正确。传入 postNotification 方法的对象是一个发送者,可以用来过滤同名通知(p.3)
  3. 当您订阅特定通知并将对象传递给 addObserver 方法时,您将仅收到与该对象一起发送的通知。如果您未在 addObserver 中指定它,您将收到所有具有此名称的通知。
  4. 不要忘记在您不再需要收听它们时立即removeObserver。如果您的监听器是 View Controller ,通常在 viewWillAppear 中添加 addObserver 并在 viewDidDisappear 中添加 removeObserver 通常是一个好习惯方法。

关于ios - NS 通知混淆 Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39967291/

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