我创建了一个全新的 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/