扩展目标 c 类报告“使用未声明的类型”
Posted
技术标签:
【中文标题】扩展目标 c 类报告“使用未声明的类型”【英文标题】:Extension on objective c class reports "use of undeclared type" 【发布时间】:2015-12-26 06:22:34 【问题描述】:我正在尝试为“FMDatabase”编写扩展...一个客观的 c 类。
extension FMDatabase
我在这个项目的其他 swift 代码中使用 FMDatabase 没有问题。然而,在这个快速扩展中,它会因“使用未声明的类型 FMDatabase”而导致编译失败。
【问题讨论】:
【参考方案1】:在FMDatabase
上进行 Swift 扩展没有问题。我已经做到了,没有发生任何事故。也许您在一个无法访问FMDatabase
的单独目标中执行此操作。或者您可能忽略了此目标的桥接头中的#import "FMDB.h"
。此外,如果您只是添加了桥接头,有时在您编译之前它无法识别FMDatabase
(或其他)。
如果您仍然遇到此问题,请概述我们重现问题所需的确切步骤(即请提供MCVE)。但我刚刚为FMDatabase
创建了一个Swift extension
,它工作正常。
【讨论】:
我已经完成了你所建议的一切......奇怪的是 FMDatabase 正在其他 swift 类中工作......不知道为什么扩展会有所不同。我已经在这方面浪费了足够的时间,没有时间制作 MCVE。对我来说,它看起来像是一个快速的错误。但是谢谢 Rob,很高兴知道它应该可以工作。【参考方案2】:据我所知,Swift 不适用于 Cocoapods,在安装和初始化方面存在一些问题。 为了您更好地阅读 FMDatabase “如何在 Swift 上安装”的文档
【讨论】:
以上是关于扩展目标 c 类报告“使用未声明的类型”的主要内容,如果未能解决你的问题,请参考以下文章
UITextViewDelegate 方法在 Swift 3 和 Xcode 8.0 中给出“使用未声明的类型 URL”错误