在Swift中NSlogging / println SQLite数据库文件的位置

所以我想弄清楚我的swift IOS应用程序在哪里存储它的SQLite数据库文件。 我知道applicationsDocumentsDirectory存储目录。 我需要find一种方法来打印它在控制台或NSLog它。 我是新来的迅速和IOS的发展,所以我在这里遇到麻烦。 我试着只是在另一个类中调用variables,也只是在clojure中没有成功的NSLogging。 有任何想法吗?

这是variables。

lazy var applicationDocumentsDirectory: NSURL = { // The directory the application uses to store the Core Data store file. This code uses a directory named "arux-software.onsite_childcare" in the application's documents Application Support directory. let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) return urls[urls.count-1] as NSURL }() 

有一个更简单的方法来获取sqlite的位置:

 println(NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString) 

给出没有时间戳的输出,如下所示:

 /Users/tooti/Library/Developer/CoreSimulator/Devices/AB5B3350-F891-420B-88D5-E8F8E578D39B/data/Containers/Data/Application/38FBDC42-0D09-4A10-A767-17B576882117/Documents 

 NSLog(NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString ) 

给出带时间戳的输出,如下所示:

 2015-01-23 23:31:57.373 RAACTutor[6551:140531] /Users/tooti/Library/Developer/CoreSimulator/Devices/AB5B3350-F891-420B-88D5-E8F8E578D39B/data/Containers/Data/Application/38FBDC42-0D09-4A10-A767-17B576882117/Documents 

你可以用两种方法做到这一点。

第一条路

1.我们可以使用NSSearchPathForDirectoriesInDomains()方法获取应用程序文档目录的引用。

 let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as String 

常量.documentDirectory表示我们正在寻找Document目录。

常量.userDomaininMask将我们的search限制在我们的应用程序的沙箱中。

引用文件或目录的首选方式是使用URL。

 let documentsURL = URL(string: documentsPath)! print(documentsURL) 

第二条路

2.使用FileManager.default.url函数。

  let fileManager = FileManager.default do { let documentsURL = try fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) print(documentsURL) } catch let error as NSError { print("Could not save \(error), \(error.userInfo)") }