让我们说我们有一个具有“ title”属性作为主键的Realm对象。检查具有相同键(标题)的对象是否存在并进行相应添加的正确方法是什么?没有任何错误。
var personThatExists = Person.objectsWhere("id == %@", primaryKeyValueHere).firstObject()
if personThatExists {
//don't add
} else {
//add our object to the DB
}
我在https://stackoverflow.com/a/28771121/1919764看到了以上解决方案
我相信应该有更好的方法。
答案 0 :(得分:1)
根据是要使用新数据更新现有对象,还是要不执行任何操作(如果已有的话),有两种选择。
如果您想不做任何事情,可以使用WITH A AS (
SELECT
ID
,Seller_type
,SUM(view_count) as Total_views
,Week
FROM Table_A
GROUP BY
ID
,Seller_type
,Week
)
SELECT
CASE WHEN Week = 'Week1' THEN MAX(Total_views)
CASE WHEN Week = 'Week2' THEN
FROM A
。
Realm.object(ofType:,forPrimaryKey:)
如果要更新该对象(如果存在)并添加它(如果不存在),则只需使用let existingPerson = realm.object(ofType: Person.self, forPrimaryKey: primaryKey)
if let existingPerson = existingPerson {
// Person already exists, act accordingly
} else {
// Add person
}
。
realm.add(_:,update:)