我正在使用CoreData的iPhone項目,我卡住試圖建立一個謂詞。幫助核心數據做一個NSPredicate - 遞歸搜索
我的核心數據實體是
Folder
parent - Point to the folder class parent, can be null and is one to one.
secure - An enum that holds the security type.
我的問題是,我想使它所以我並不表明是在一個安全的文件夾中的任何文件夾。
現在我的謂詞看起來像這樣。
NSPredicate *pred = [NSPredicate predicateWithFormat:@"secure = [email protected] AND (parent = %@ OR parent.secure = %@)",[NSNumber numberWithInteger:kNoSecurity], [NSNull null], [NSNumber numberWithInteger:kNoSecurity]];
這個作品發現,當我只有像folder1 - > folder2和folder1是安全的鏈。但是,如果我有文件夾1 - >文件夾2 - >文件夾3(文件夾2和文件夾3不安全)。 Folder3被返回,因爲我只檢查一層。有沒有辦法讓謂詞來檢查整個鏈?
謝謝。
我沒有遵循這個建議,我做了一個祖先表,因爲我的真實代碼有一些要求沒有在這裏陳述。但是這裏提出的建議可以解決所述問題。 – NixonsBack 2010-08-06 18:36:08
是否真的有可能創建一個訪問瞬態屬性的NSPredicate?我讀過的其他東西說,它不會工作,至少不會與SQLite商店。 (請參閱[this](http://stackoverflow.com/a/15972685/234609)和[this](http://www.cocoabuilder.com/archive/cocoa/237109-only-one-reason-to-ever -use瞬態 - 屬性 - 在覈心-data.html))。 – 2016-05-24 15:06:43