0
我試圖定義一個基於段控制器開關的謂詞。If else語句來定義一個NSPredicate
if self.streamtype == "case1" {
let predicatearray = defaults.object(forKey: "case1") as! [String]
let predicate = NSPredicate(format: "UserID IN %@" , predicatearray)
} else if self.streamtype == "case2" {
let predicate = NSPredicate(format: "TRUEPREDICATE", argumentArray: nil)
} else {
let predicatearray = defaults.object(forKey: "case3") as! [String]
let predicate = NSPredicate(format: "UserID IN %@", predicatearray)
}
let publicData = CKContainer.default().publicCloudDatabase
let query = CKQuery(recordType: "Post", predicate: predicate)
我收到一個錯誤說:
「不能被髮送到類NSPredicate的抽象對象:創建一個具體的實例」
另外,它告訴我謂詞變量的初始化從未被使用過。我試過用幾種不同的方式編寫函數,但是這對我來說最合適,因爲我只需要在加載新信息時更新謂詞,所以我只將這兩個函數合併爲一個。