Realm的API不提供这样的方法.但出于这些目的,使用Foundation的NSFileManagerAPI似乎就足够了.
let realm = …
let path = realm.configuration.fileURL!.path
let attributes = try! NSFileManager.defaultManager().attributesOfItemAtPath(path!)
let fileSize = attributes.fileSize()
Run Code Online (Sandbox Code Playgroud)
但请注意:报告的文件大小并未完全被数据占用.出于性能原因,Realm预先获得更多磁盘空间.如果你想要实际存储数据的磁盘使用,你需要先编写一个压缩的副本并且可以测量它,但这似乎是用于向最终用户报告它而非常误导的用例性能.
NSURL从版本0.99+开始,Realm 用于路径.示例代码已相应更改.
Swift 3的更新版本
func checkRealmFileSize() {
if let realmPath = Realm.Configuration.defaultConfiguration.fileURL?.relativePath {
do {
let attributes = try FileManager.default.attributesOfItem(atPath:realmPath)
if let fileSize = attributes[FileAttributeKey.size] as? Double {
print(fileSize)
}
}
catch (let error) {
print("FileManager Error: \(error)")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2469 次 |
| 最近记录: |