2
我試圖創建一個NSPredicate爲一個提取的結果控制器,控制器應該只觀察有關係的對象(它不是零)以及關係的計數大於0的地方。keyPath爲關係屬性計數
我已經看到了如何使用字符串作謂語的參數做到這一點:
[NSPredicate predicateWithFormat:@"[email protected] == 0"];
來自:https://stackoverflow.com/a/1195519/4096655
但我想從文字字符串遠,所以我想使用關鍵路徑。
實施例:
import UIKit
import CoreData
class Animal: NSManagedObject {
@NSManaged var name: String
@NSManaged var friends: NSSet?
}
let keyPath = #keyPath(Animal.friends.count)
導致錯誤: 歧義參照構件 '計數'
我不知道是否有更好的解決方案,但'NSPredicate(格式:「 %K. @ count = 0「,#keyPath(Animal.friends))'可以工作。 –
@MartinR它是一個更好的解決方案,如果屬性確實發生變化,會導致編譯時錯誤,謝謝! –