Ich verwende Realm als mein Backend. Ich speichere zwei Strings. Das Problem ist, wenn ich die Datensätze zum ersten Mal einfüge, funktioniert es perfekt, aber wenn ich die Datensätze erneut einfüge, wird ein Fehler angezeigt.Kann den zweiten Datensatz in Realm-Datenbank nicht einfügen
Mein Code:
class ViewController: UIViewController ,UITableViewDelegate,UITableViewDataSource {
@IBOutlet weak var tablee:UITableView!
@IBOutlet weak var msgTxt:UITextView!
@IBOutlet weak var img:UIImageView!
@IBOutlet weak var vieww:UIView!
let msg = Msg()
let realm = try! Realm()
lazy var msgs: Results<Msg> = { self.realm.objects(Msg.self) }()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
print(Realm.Configuration.defaultConfiguration.fileURL!)
}
@IBAction func msgSend(_ sendeR:UIButton) {
if img.image != nil {
let image : UIImage = self.img.image!
let imageData:NSData = UIImagePNGRepresentation(image)! as NSData
let strBase64 = imageData.base64EncodedString(options: .lineLength64Characters)
print(strBase64)
let pureStr = String(strBase64)
msg.imgurl = pureStr!
} else {
msg.imgurl = "none"
}
msg.content = msgTxt.text
let realm = try! Realm()
do {
try realm.write() {
realm.add(msg)
}
} catch {
}
self.tablee.reloadData()
self.msgTxt.text = ""
}
}
Fehler:
Terminating app due to uncaught exception 'RLMException', reason: 'Attempting to modify object outside of a write transaction - call beginWriteTransaction on an RLMRealm instance first.
Versuchen Sie, diese https://stackoverflow.com/questions/30756349/realmswift-rlmexception – karthikeyan