내 백엔드로 영역을 사용하고 있습니다. 나는 두 문자열을 저장하고 있습니다. 문제는 처음 레코드를 삽입 할 때 완벽하게 작동하지만 레코드를 다시 삽입 할 때 오류가 있음을 나타냅니다.영역 데이터베이스에 두 번째 레코드를 삽입 할 수 없습니다.
내 코드 :
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 = ""
}
}
오류 : 당신은 단지 하나의 Msg
오브젝트가 작성해야하기 때문에
Terminating app due to uncaught exception 'RLMException', reason: 'Attempting to modify object outside of a write transaction - call beginWriteTransaction on an RLMRealm instance first.
시도해주세요. https://stackoverflow.com/questions/30756349/realmswift-rlmexception – karthikeyan