ios - 更新 RLMObject 为 Swift/IOS

标签 ios swift realm

我正在尝试更新 Realm 中 RLMObject 的现有实例。

我找不到实现它的方法..

请举个例子

我可以保存和删除对象,但不知道如何使用以下方法更新对象:

//Find Existing 
let predicate = NSPredicate(format: "formname = %@",formname)
var localTypes = FormTypeLocal.objectsWithPredicate(predicate)
if (localTypes.count == 1 ){
var existingForm : FormTypeLocal = localTypes[0] as FormTypeLocal     
existingForm.customProp = "newVal"
//Now I need to update?????

let realm = RLMRealm.defaultRealm()
//
// Add to the Realm inside a transaction
realm.beginWriteTransaction()
realm.addObject(newForm)
realm.commitWriteTransaction()
//Delete
realm.beginWriteTransaction()
realm.deleteObject(newForm)
realm.commitWriteTransaction()

最佳答案

您走在正确的轨道上,您只需要确保您的更新是在写入事务中完成的。

有了 Realm,只要你在写入事务中修改/更新 Realm 对象,这些更改就会被持久化。例如:

let realm = RLMRealm.defaultRealm()
realm.beginWriteTransaction()
// Find objects
var localTypes = FormTypeLocal.objectsWhere("formname = \(formname)")
// Update one of those objects
var existingForm = localTypes[0] as FormTypeLocal
existingForm.customProp = "newVal"
// Wrap up transaction
realm.commitWriteTransaction()

我们正在开发支持泛型的 Swift 接口(interface),因此将来不再需要 as FormTypeLocal

关于ios - 更新 RLMObject 为 Swift/IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24970436/

相关文章:

php - Xcode, PHP;使用 SwiftyJSON-master 从 PHP/MySQL 检索数据时遇到问题

ios - 在运行时更改 UIBackgroundModes 音频

iphone - 如何对@distinctUnionOfObjects的结果进行排序?

ios - 网页 View : fatal error: unexpectedly found nil while unwrapping an Optional value

ios - 有没有办法知道何时从 UITableView 中删除 UITableViewCell?

swift - requestAccessToAccounts 在 Xcode9 中未执行

ios - 创建方形而不是圆形边缘效果 UIProgressView

ios - Realm 架构版本 0 小于最后设置的版本 1 Swift

ios - NSPredicate 每个父项一个子项

objective-c - Realm Objective C 中对象被替换而不是更新