2015-12-14 38 views
0

對象我有一個學科領域數據庫:僅添加當前不存在境界數據庫

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,英語,歷史,地理和會計工程師。

我的問題是我只想添加數據庫中尚不存在的一個主題,即「工程師會計」。我以爲我可以簡單地編寫一個NSPredicate像這樣:?

for subject in mySubjects.subjects { 

    let myPredicate:NSPredicate = NSPredicate(format: "subject != '\(subject)'") 
    results = realm.objects(Subjects).filter(myPredicate) 

沒有運氣:(任何建議

+0

所以,只是爲了澄清一下,你在Realm數據庫中有主題,但是你也有一個可以容納一系列的主題....? – caseynolan

+0

是的。我使用結構來保存信息,直到用戶決定將信息保存到數據庫。 – Tom

回答

2

因爲你設置了一個主鍵,你可以使用objectForPrimaryKey(_:key:)功能

如果realm.objectForPrimaryKey(Subject.self, "Subject Name")之類的結果爲零,那麼該主題在數據庫中不存在