我想要做的是,在應用程序委託中,我想編寫一個代碼,它將複製一個sqlite數據庫,如果它不存在於iphone的文檔目錄中。爲此,我使用以下代碼 -如何將文件從目錄複製到iphone文檔目錄
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow(frame: UIScreen.mainScreen().bounds)
let containerViewController = ContainerViewController()
window!.rootViewController = containerViewController
window!.makeKeyAndVisible()
//Create database if not exists
let docsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String
let databaseStr = "LocalDatabase.sqlite"
let dbPath = docsPath.stringByAppendingPathComponent(databaseStr)
let fileManager: NSFileManager = NSFileManager.defaultManager()
if !fileManager.fileExistsAtPath(dbPath) {
let databaseInApp: String? = NSBundle.mainBundle().resourcePath?.stringByAppendingPathComponent(databaseStr)
fileManager.copyItemAtPath(databaseInApp!, toPath: dbPath, error: nil)
}
return true
}
它在可以在目錄中創建數據庫。但是我沒有在數據庫中獲得ant表。這意味着創建新文件而不是複製。我確信該數據庫中有9個表格是我想要複製的。文件
結構作爲screenshot-
如果我錯了,我不明白給出。請告訴我,如果有人能夠解決問題。還有一件事當我在模擬器中運行應用程序的時候,它運行得很好,但是在我運行它時在iphone中不起作用。
感謝您對代碼的幫助。當我使用'pathForResource'函數時,我使用了代碼並且在URL中得到了零。對於這個問題,我在'Copy Bundle Resources'下拖動了我的文件,它工作。 – Abhinav