领域:如何获取数据库的当前大小

时间:2015-11-24 14:05:24

标签: ios database swift realm

是否有Realm API方法使用RealmSwift作为数据存储来获取RealmSwift应用的当前数据库大小?这样我就可以在应用程序本身中显示该信息(如统计信息)。

提前致谢

约翰

2 个答案:

答案 0 :(得分:7)

Realm的API不提供这样的方法。但出于这些目的,使用Foundation's NSFileManager API似乎就足够了。

let realm = …
let path = realm.configuration.fileURL!.path
let attributes = try! NSFileManager.defaultManager().attributesOfItemAtPath(path!)
let fileSize = attributes.fileSize()

请注意:报告的文件大小并未完全被数据占用。出于性能原因,Realm预先获得更多磁盘空间。如果你想要实际存储数据的磁盘使用,你需要先编写一个压缩的副本并且可以测量它,但这似乎是用于向最终用户报告它而误导性的用例性能

更新

Realm从版本0.99+开始使用NSURL作为路径。示例代码已相应更改。

答案 1 :(得分:4)

Swift 3的更新版本

netstat -a -o -n