加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Swift桥接头 – 使用未声明的“FMDatabase”错误

发布时间:2020-12-14 19:46:31 所属栏目:百科 来源:网络整理
导读:我已经看到所有其他的帖子有相同的错误(使用未声明的类型),但仍然无法弄清楚我的项目有什么问题. 与其他情况的不同之处在于,我可以在AppDelegate和ViewController类中成功使用FMDatabase,但不能使用我创建的另一个类,尽管与AppDelegate和ViewController类在
我已经看到所有其他的帖子有相同的错误(使用未声明的类型),但仍然无法弄清楚我的项目有什么问题.

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

并且通过“成功使用”,我的意思是我可以访问其中的数据库和表.

另请注意,我没有必要导入任何使用FMDatabase在AppDelegate或ViewController.

到目前为止我已经做了(Xcode.6.4 Swift 1.2):

>创建一个单一的视图快速项目.
>使用Cocapods安装FMDB(https://cocoapods.org/?q=fmdb)
>为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.

对于任何提示或想法,提前谢谢.

解决方法

这是因为DBUtil是BridgingHeaderTests目标的一部分(但应用程序委托和视图控制器不是),但是该目标未配置为FMDB(测试目标的“Objective-C桥接头”设置为空).

你可以:

>从测试目标中删除DBUtil:

enter image description here


>或指定测试目标的桥接头:

enter image description here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读