我有一个主题Realm数据库:
import Foundation
import RealmSwift
class Subjects: Object {
dynamic var subject = ""
override static func primaryKey() -> String? {
return "subject"
}
}
在数据库中,我有四个科目,比如计算101,英语,历史和地理。现在,我有一个可以容纳一系列主题的结构,如下所示:
struct mySubjects {
static var subjects:Array<String> = [String]()
}
用户可以在结构中添加主题,例如,计算101,英语,历史,地理和工程师会计。
我的问题是我只想添加数据库中尚未存在的一个主题,即&#34;工程师会计&#34;。我以为我可以简单地编写NSPredicate代码:
for subject in mySubjects.subjects {
let myPredicate:NSPredicate = NSPredicate(format: "subject != '\(subject)'")
results = realm.objects(Subjects).filter(myPredicate)
没有运气:(。有什么建议吗?
答案 0 :(得分:2)
由于您已设置主键,因此可以使用objectForPrimaryKey(_:key:)
功能。
如果realm.objectForPrimaryKey(Subject.self, "Subject Name")
之类的结果为零,那么该主题在数据库中尚不存在。