swift - 使用 ORSSerialPort 时类型 'AppDelegate' 不符合协议(protocol) 'ORSSerialPortDelegate'

标签 swift orsserialport

我创建了一个全新的 Xcode 项目,我做的第一件事就是遵循此页面上的“使用 Xcode 子项目”步骤:https://github.com/armadsen/ORSSerialPort/wiki/Installing-ORSSerialPort它将 ORSSerialPort 源导入到我的项目中供我使用并且工作正常。然后我进入 AppDelegate.swift 并添加 import ORSSerial,项目仍然可以构建。

接下来,我将 ORSSerialPortDelegate 添加到 AppDelegate 类声明中(class AppDelegate: NSObject, NSApplicationDelegate, ORSSerialPortDelegate {),这样我可以稍后使用它的函数,但出现错误: 类型“AppDelegate”不符合协议(protocol)“ORSSerialPortDelegate”。

我不明白为什么会出现这个错误,因为我已经检查了 ORSSerialPort 的演示项目,这正是他们所做的。我只想创建一个简单的程序来读取 Arduino 的输出,为什么这么难?我已经按照所有说明进行操作,到处都看了,但没有任何效果。我能看到的唯一可能有所不同的是演示项目没有将 AppDelegate 用于任何事情,而是有一个名为 SerialPortDemoController 的单独文件,接口(interface)使用该文件并在其中放置所有代码。但是,我不想这样做,我只想直接在 AppDelegate 中使用 ORSSerial 库,就像我使用 CLLocationManagerDelegate、NSUserNotificationCenterDelegate 或其他任何东西一样。

最佳答案

根据 protocol's declaration必须从协议(protocol)中实现以下方法:

- (void)serialPortWasRemovedFromSystem:(ORSSerialPort *)serialPort;

实现它,你应该会做得很好。

关于swift - 使用 ORSSerialPort 时类型 'AppDelegate' 不符合协议(protocol) 'ORSSerialPortDelegate',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40192551/

相关文章:

cocoa - 主窗口在 Snow Leopard 上无法正常运行

ios - 如何将 NSArray 转换为 Set?

ios - 比较两个任意值

ios - 返回 xcassets 中目录的字符串文件名数组的函数

ios - 当打开另一个特定应用程序 (Facebook) 时,可以从我的应用程序发送推送通知吗?

ios - 用于私有(private)消息传递的 Firebase 数据库结构

objective-c - 使用 ORSSerialPort 的 arduino/mac 通信问题