有没有Realm API方法可以使用RealmSwift作为数据存储来获取我RealmSwift应用程序的当前数据库大小?这样我就可以在应用程序中显示该信息(例如统计信息)。
提前致谢
约翰
提前致谢
约翰
Realm的API没有提供这样的方法。但是,为了这些目的,似乎使用Foundation的NSFileManager
API就足够了。
let realm = …
let path = realm.configuration.fileURL!.path
let attributes = try! NSFileManager.defaultManager().attributesOfItemAtPath(path!)
let fileSize = attributes.fileSize()
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)")
}
}
}
32768.0
,这是字节吗?所以大约是32KB? - David Seek
attributes.filesize
不存在(也许只有在Swift 2.0中)。但我找到了一个方法,可以通过filesize作为键获取该值。let fileSize = attributes[NSFileSize] as! NSNumber
所以再次感谢您。干杯。约翰 - John B.fileSize()
应该可以工作,因为它在NSDictionary
的类别中公开为方法。 - marius32768.0
,这是字节吗?所以大约是32KB? - David Seek