使用 ORSSerialPort 时类型 'AppDelegate' 不符合协议 'ORSSerialPortDelegate'
Type 'AppDelegate' does not conform to protocol 'ORSSerialPortDelegate' when using ORSSerialPort
我创建了一个全新的 Xcode 项目,我做的第一件事就是遵循此页面上的 'using an Xcode subproject' 步骤:https://github.com/armadsen/ORSSerialPort/wiki/Installing-ORSSerialPort 将 ORSSerialPort 源导入到我的项目中我使用并且工作正常。然后我进入 AppDelegate.swift 并添加 import ORSSerial
,并且该项目仍然可以构建。
接下来我将 ORSSerialPortDelegate
添加到 AppDelegate class 声明 (class AppDelegate: NSObject, NSApplicationDelegate, ORSSerialPortDelegate {
) 中,这样我可以稍后使用它的函数并得到一个错误:Type 'AppDelegate' does不符合协议 'ORSSerialPortDelegate'.
我不明白为什么会出现这个错误,因为我已经检查了 ORSSerialPort 的演示项目,这正是他们所做的。我只想创建一个简单的程序来读取 Arduino 的输出,为什么这么难?我已经按照所有说明进行操作,到处都看了,但没有任何效果。我能看到的唯一可能有所不同的是演示项目没有将 AppDelegate 用于任何事情,而是有一个名为 SerialPortDemoController
的单独文件,界面使用该文件并在其中放置所有代码。但是,我不想这样做,我只想直接在 AppDelegate 中使用 ORSSerial 库,就像我使用 CLLocationManagerDelegate、NSUserNotificationCenterDelegate 或其他任何东西一样。
根据protocol's declaration,您必须实施协议中的以下方法:
- (void)serialPortWasRemovedFromSystem:(ORSSerialPort *)serialPort;
实施它,你应该是好的。
我创建了一个全新的 Xcode 项目,我做的第一件事就是遵循此页面上的 'using an Xcode subproject' 步骤:https://github.com/armadsen/ORSSerialPort/wiki/Installing-ORSSerialPort 将 ORSSerialPort 源导入到我的项目中我使用并且工作正常。然后我进入 AppDelegate.swift 并添加 import ORSSerial
,并且该项目仍然可以构建。
接下来我将 ORSSerialPortDelegate
添加到 AppDelegate class 声明 (class AppDelegate: NSObject, NSApplicationDelegate, ORSSerialPortDelegate {
) 中,这样我可以稍后使用它的函数并得到一个错误:Type 'AppDelegate' does不符合协议 'ORSSerialPortDelegate'.
我不明白为什么会出现这个错误,因为我已经检查了 ORSSerialPort 的演示项目,这正是他们所做的。我只想创建一个简单的程序来读取 Arduino 的输出,为什么这么难?我已经按照所有说明进行操作,到处都看了,但没有任何效果。我能看到的唯一可能有所不同的是演示项目没有将 AppDelegate 用于任何事情,而是有一个名为 SerialPortDemoController
的单独文件,界面使用该文件并在其中放置所有代码。但是,我不想这样做,我只想直接在 AppDelegate 中使用 ORSSerial 库,就像我使用 CLLocationManagerDelegate、NSUserNotificationCenterDelegate 或其他任何东西一样。
根据protocol's declaration,您必须实施协议中的以下方法:
- (void)serialPortWasRemovedFromSystem:(ORSSerialPort *)serialPort;
实施它,你应该是好的。