我将id的简单列表存储为Realm中的GUID,但是希望能够删除特定索引位置的对象。
例如,我想删除索引位置1处的04b8d81b9e614f1ebb6de41cb0e64432,如何实现?我是否需要添加主键,或者是否可以使用给定的索引位置直接删除项目?
Results<RecipeIds> <0x7fa844451800> (
[0] RecipeIds {
id = a1e28a5eef144922880945b5fcca6399;
},
[1] RecipeIds {
id = 04b8d81b9e614f1ebb6de41cb0e64432;
},
[2] RecipeIds {
id = cd0eead0dcc6403493c4f110667c34ad;
}
)
这似乎应该是一个简单的问题,但是我找不到关于它的任何文档。即使指向正确方向的指针也可以。
答案 0 :(得分:1)
Results
正在自动更新,您不能直接对其进行修改。您需要更新/添加/删除Realm
中的对象以影响Results
实例的状态。
因此,您可以简单地从Results
实例中获取所需的元素,将其从Realm
中删除,并将其也从Results
中删除。
假设问题中显示的Results
实例存储在名为recipes
的变量中,则可以执行以下操作:
let recipeToDelete = recipes.filter("id == %@","04b8d81b9e614f1ebb6de41cb0e64432")
try! realm.write {
realm.delete(recipeToDelete)
}