レルムDBテーブルにレコードを追加しようとしています。レルムコミット書き込みエラー - 存在しない書き込みトランザクションをコミットできません
私は私が私のDBに必要なテーブルを表すクラスの接続を持っていると列を表すためにあるダイナミックVARS作成しました:私は書き込みを書き、コミットしようとしています私のコードに続いて
import Foundation
import RealmSwift
import Realm
open class ConnectionState: Object {
open dynamic var _id : String = NSUUID().uuidString
open dynamic var a : String = ""
open dynamic var b : String = ""
open dynamic var c : Int = 0
open override class func primaryKey() -> String? {
return "_id"
}
required public init() {
super.init()
}
required public init(realm: RLMRealm, schema: RLMObjectSchema) {
super.init(realm: realm, schema: schema)
}
required public init(value: Any, schema: RLMSchema) {
fatalError("init(value:schema:) has not been implemented")
}
}
をそのようなトランザクション:このコードを実行するとき
let ConnectionState = ConnectionState()
ConnectionState.a = "a"
ConnectionState.b = "b"
ConnectionState.c = 1
try! self.realm.write {
self.realm.add(ConnectionState)
}
try! self.realm.commitWrite()
、私はエラーが発生します:
Can't commit a non-existing write transaction
を10
私は何が欠けていますか?私はConnectionStateクラスでinitsを持つ必要がありますか? commitWriteで追加する前に、私はレルムブラウザでdbを表示しようとしていました。デバイスをxCodeで見つけてコンテナをダウンロードすることを選択しましたが、空でした。それから私は私がcommitWrite
私はrealm dbを検索するときにレコードを見つけることができなかったので、私は誤ってcommitWriteを追加しました。私はコンテナをダウンロードしてパッケージの内容を表示することを選択しましたが、ブラウザで開くためのdefault.realmはありません。なぜこれがどんなアイデアですか? – user2363025
ファイルが見つからない場合は、http://stackoverflow.com/questions/28465706/how-to-find-my-realm-file/28465803#28465803 – Yannick
をご覧ください。上記の私のコメントごとに。問題は、AppDataとドキュメントに入ると、default.realmが存在しないことです。アプリケーショングループコンテナの一部として、指定した場所に自分の領域を設定しました。私のレルムのファイルパスはfile:///private/var/mobile/Containers/Shared/AppGroup/B4D9C8F6-6A72-4539-A144-6AD622873A0A/db.realm – user2363025