首先,我对Realm
生态系统很新。
我在AppDelegate
的{{1}}方法
applicationDidFinishLaunching
但是它给了我错误,因为我已经为print("Realm Path : \(realm.configuration.fileURL?.absoluteURL)")
对象添加了一些新属性,这些属性与旧架构产生冲突并在打印之前崩溃了应用程序。
如果您对崩溃日志感兴趣。但它与主要问题无关,对吧?
致命错误:'尝试!'表达式意外地引发了错误:错误Domain = io.realm Code = 10"由于以下原因,需要迁移 错误: - 财产' id'已被添加到最新的对象模型。" UserInfo = {NSLocalizedDescription =由于需要迁移 以下错误: - 财产' id'已被添加到最新的对象模型。,错误代码= 10}:文件 /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-703.0.18.8/src/swift/stdlib/public/core/ErrorType.swift, 第54行
我还有一个疑问。我已经添加了这个,在初始化旧对象之前,领域必须realm
吗?但它刚刚与上面给出的日志相撞。
deleteAll
所以现在我要删除import Cocoa
import RealmSwift
import Realm
//MARK: Global Variables
public let realm = try! Realm()
func applicationDidFinishLaunching(aNotification: NSNotification) {
realm.deleteAll()
print("Realm Path : \(realm.configuration.fileURL?.absoluteURL)")
}
文件,但我不知道在哪里找到它。我使用扩展程序realm
在Mac中搜索,但无法找到预期的文件。我有.realm
应用,我认为它会将我重定向到文件位置,但它没有,它只是打开Realm browser
文件夹,没有域文件。
你会怎么做?谢谢它提前。
答案 0 :(得分:4)
创建新文件时Realm
确实会发生变化。
只需将以下行添加到ViewDidLoad
方法中:
print(Realm.Configuration.defaultConfiguration.fileURL!)
此行将打印位置到XCode控制台。复制文件路径,转到Finder
- >去 - > Go go Folder ... - >粘贴路径并点击Go。
答案 1 :(得分:1)
我找到了自己问题的答案,幸福:)它将在这个目录中。
Users/UserName/Library/Application Support/appBundleIdentifer/default.realm)
基本上,用户名代表您计算机的主要用户名,而捆绑包标识符代表您项目中的类似内容com.yourCompany.yourApp
答案 2 :(得分:0)
万一有人在寻找它,我在上面的任何位置都找不到该文件。
我使用的是 macOS 11.1,default.realm 文件实际上位于
~/Library/Containers/{app.bundle.identifier}/Data/Library/Application Support