Jac*_* G. 10 xcode objective-c ios swift xcode6.4
我看了所有其他帖子有相同的错误(使用未声明类型)但仍然无法弄清楚我的项目有什么问题.
与其他情况的不同之处在于我可以在AppDelegate和ViewController类中成功使用FMDatabase,但不能从我创建的其他类中成功使用,尽管在与AppDelegate和ViewController类相同的项目中.
通过"成功使用",我的意思是我可以访问其中的数据库和表.
另请注意,我无需导入任何内容以在AppDelegate或ViewController中使用FMDatabase.
到目前为止我做了什么(Xcode.6.4 Swift 1.2):
创建了一个单一视图swift项目.
使用cocoapods安装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
...
Run Code Online (Sandbox Code Playgroud)
ViewController.swift
class ViewController: UIViewController {
var database: FMDatabase? // OK
...
Run Code Online (Sandbox Code Playgroud)
在DBUtil.swift虽然我得到"使用未声明的类型'FMDatabase'"错误.
DBUtil.swift
class DBUtil {
var database: FMDatabase? // Error: "Use of undeclared type 'FMDatabase'
}
Run Code Online (Sandbox Code Playgroud)
如有任何提示或想法,请提前感谢您.
Rob*_*Rob 17
这是因为它DBUtil是BridgingHeaderTests目标的一部分(但是app委托和视图控制器不是),但是没有为FMDB配置该目标(测试目标的"Objective-C Bridging Header"设置为空).
你可以: