gpt4 book ai didi

ios - Swift Bridging Header - 使用未声明的类型 'FMDatabase' 错误

转载 作者:IT王子 更新时间:2023-10-29 05:34:47 25 4
gpt4 key购买 nike

我查看了所有其他出现相同错误(使用未声明类型)的帖子,但仍然无法弄清楚我的项目出了什么问题。

与其他情况的不同之处在于,我可以在 AppDelegate 和 ViewController 类中成功使用 FMDatabase,但不能从我创建的另一个类中使用,尽管在与 AppDelegate 和 ViewController 类相同的项目中。

“成功使用”是指我可以访问数据库和其中的表。

另请注意,我无需导入任何内容即可在 AppDelegate 或 ViewController 中使用 FMDatabase。

到目前为止我所做的(Xcode.6.4 Swift 1.2):

  1. 创建了一个单 View swift 项目。

  2. 使用 cocoapods 安装 FMDB ( https://cocoapods.org/?q=fmdb )

  3. 为 FMDB 创建了桥接头

我可以从 AppDelegate.swift 和 ViewController.swift 类成功声明和使用 FMDatabase。

AppDelegate.swift

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

var database: FMDatabase? // OK
...

ViewController.swift

class ViewController: UIViewController {

var database: FMDatabase? // OK
...

虽然我在 DBUtil.swift 中收到“使用未声明类型‘FMDatabase’”错误。

DBUtil.swift

class DBUtil {

var database: FMDatabase? // Error: "Use of undeclared type 'FMDatabase'

}

复制器可在 Swift Bridging Header 获得.

如有任何提示或想法,请提前致谢。

最佳答案

这是因为 DBUtilBridgingHeaderTests 目标的一部分(但应用程序委托(delegate)和 View Controller 不是),但该目标没有为 FMDB 配置(测试目标的“Objective-C Bridging Header”设置为空)。

您可以:

  1. 从测试目标中删除 DBUtil:

    enter image description here

  2. 或者为测试目标指定桥接头:

    enter image description here

关于ios - Swift Bridging Header - 使用未声明的类型 'FMDatabase' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31837751/

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