gpt4 book ai didi

objective-c - – accessoryDidDisconnect : method within the EAAccessoryDelegate? 的目的是什么

转载 作者:行者123 更新时间:2023-11-29 13:39:06 32 4
gpt4 key购买 nike

我一直致力于连接硬件的 iOS 实现,因此,我必须使用外部附件框架。为了与设备交互,您需要有一个类来处理与 EAAccessory 对象的通信。为此,您必须使用 EAAccessoryDe​​legate 协议(protocol)定义您的设备连接类。

EAAccessoryDe​​legate 协议(protocol)包含一个方法--

– accessoryDidDisconnect:(EAAccessory *)accessory

Apple 文档指出:

The EAAccessoryDelegate protocol defines a single method for receiving notifications when the associated EAAccessory object is disconnected. Implementation of this method is optional.

当您实例化您的类时,您可以使用NSNotificationCenter 系统注册您自己的方法。当出现设备连接或设备断开连接事件时,您可以根据需要处理该事件。当 Device Disconnect 事件发生时,-accessoryDidDisconnect: 的目的变得毫无意义,因为它为您的类提供了完全相同的功能和数据。

此外,我能找到的关于使用外部附件框架的所有示例都提供了通过 NSNotificationCenter 订阅机制检测设备连接更改的示例。

话虽如此,– accessoryDidDisconnect: 方法从未真正被使用的意义何在?是的,它可以实现,但正如我提到的,所有形式的文档都建议您通过 NSNotificationCenter 管理这些类型的连接更改。

我知道这是一个挑剔的问题,但我很好奇。

最佳答案

这是 Apple 非常常见的设计模式,为非常常见的 NSNotificationCenter 通知提供快捷方式。在 OS X 上,他们使用大量 NSWindow 通知来执行此操作,在这些情况下传递 NSNotification 的内容。

基本上,这是一种实现通知的简单方法,无需确保添加和删除观察者。

特别是,这仅在创建 EAAccessory 对象后使用(仅在连接配件后发生),因此此时使用连接方法不适用。

关于objective-c - – accessoryDidDisconnect : method within the EAAccessoryDelegate? 的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9687794/

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