獲取彙總數據時,我試圖獲取由給定列分組數據拋出。當我有數據時它運作良好。我想在沒有數據的情況下處理這個案例,因爲它引發了一個NS錯誤,我無法在快速捕獲塊中捕獲這個錯誤。我已經看到了創建一個ObjC包裝的答案,但我不適用於我的情況,因爲我需要返回一個String數組。如何處理NSInvalidArgumentException從空的持久存儲
let request = self.fetchRequest()
request.propertiesToGroupBy = [attribute]
request.propertiesToFetch = [attribute]
request.resultType = NSFetchRequestResultType.dictionaryResultType
request.returnsDistinctResults = true
if let results = try? context().fetch(request), // raises exception in testing, but runs fine when run on simulator.
let dics = results as? [NSDictionary] {
var resultsArray: [Any] = []
for dic in dics {
if let propValue = dic[attribute] {
resultsArray.append(propValue)
}
}
return resultsArray
}
我該怎麼做?
直到我找到一個真正的解決方案,繼續前進,我會兩次取。首先檢查是否有任何數據,然後運行實際的提取。如果沒有數據,則初始化爲空數組。 –