我有一个类名“DatabaseHandler.swift”,但它不是UIViewController。我想从我的“DatabaseHandler.swift”转到View Controller
我该怎么做?
编辑: 我的DatabaseHandler就像这样初始化 -
class DatabaseHandler: NSObject {
let sharedInstance = DatabaseHandler()
var database: FMDatabase? = nil
class var instance:DatabaseHandler{
sharedInstance.database = FMDatabase(path: Utils.getPath("DataBaseDemo.sqlite"))
var path = Utils.getPath("DataBaseDemo.sqlite")
println("path : \(path)")
sharedInstance.database!.open()
.
.
.
.
.
.
}
}
答案 0 :(得分:1)
您可以创建一个协议,您可以告诉当前视图控制器打开下一个视图控制器。
在class DatabaseHandler
:
protocol DatabaseHandlerDelegate{
func shouldSwitchToNewView()
}
然后在类中声明一个变量:
var delegate: DatabaseHandlerDelegate?
当你想切换视图时,请转到:
delegate?.shouldSwitchToNewView()
然后,在视图控制器中,符合class
行中的协议:
class MyVC: UIViewController, DatabaseHandlerDelegate{}
在VC中实现该功能:
func shouldSwitchToNewView(){
// Switch here!
}
然后,剩下要做的就是将你设置为viewDidLoad()
中的代表:
let handler = DatabaseHandler()
override func viewDidLoad(animated: a){
super.viewDidLoad(animated: a)
handler.delegate = self
}