である私は、プリロードレルムファイルをコピーしたいので、私は実行します。レルムFILEEXISTS常に真
はdefault.realm
という名前のナビゲーターを投影する私のファイルをコピーしました。 fileExists:
場合は、チェック:
let bundlePath = Bundle.main.path(forResource: "default", ofType: "realm")
let destPath = Realm.Configuration.defaultConfiguration.fileURL?.path
let fileManager = FileManager.default
if fileManager.fileExists(atPath: destPath!) {
//File exist, do nothing
print("File exist")
} else {
do {
//Copy file from bundle to Realm default path
try fileManager.copyItem(atPath: bundlePath!, toPath: destPath!)
print("Copied")
} catch {
print("\n",error)
}
}
そして、それは常にtrueを返しますので、私は私のレルムファイルをコピーすることはできません。
コードがありますか?let realm = try! Realm() 'をビューコントローラのインスタンス変数として使用しますか? Viewコントローラは、 'didFinishLaunchingWithOptions'の前にストーリーボードからインスタンス化されます。これを確認し、 'lazy var realm = try! 'に変更してください! Realm() 'を実行してから、シミュレータからアプリを削除してから再度試してください。 –
@kishikawakatsumiありがとうございました。すべての問題は 'let 'にあった! – aaisataev