我使用集合視圖來顯示存儲在CoreData中的圖像,只有少數(大約15),但當我向下滾動它時滯,它的接縫是因爲我不是異步獲取我的數據,是否有可能只有15 UIImages?異步獲取Swift Xcode
因此,這裏是我的問題我無法找到一個關於在任何地方快速異步獲取異步獲取教程的教程,3天我在尋找。對不起,如果我沒有好好搜索。
這是抵達做的教程一些位
let entity = NSEntityDescription.entityForName("Dreams", inManagedObjectContext: contxt)
let fetchRequest = NSFetchRequest()
fetchRequest.entity = entity
let asyncFetch = NSAsynchronousFetchRequest(fetchRequest: fetchRequest) {
(result:NSAsynchronousFetchResult!) -> Void in
if result.finalResult!.count > 0 {
self.dreams = result.finalResult! as [Dream]
}
NSLog("Done.")
}
夢想的類型[夢]數組但是當我顯示集合視圖沒有出現 這是我做到了以前
let fetchRequest = NSFetchRequest(entityName: "Dreams")
if let fetchResults = contxt.executeFetchRequest(fetchRequest, error: nil) as? [Dream] {
dreams = fetchResults
}
效果很不錯,
非常感謝您的幫助
異步提取可能會有幫助,但可能不會。這取決於代碼的結構,因此異步可能是關鍵,或者可能浪費時間。例如,你在哪裏執行這些提取?你是爲每個圖像進行單獨提取,還是批量提取?這些圖像是否實際存儲在持久性存儲或外部文件中? –
如果可能,不要將圖像存儲在覈心數據中,只需存儲圖像和/或文件路徑的名稱 – Ian
現在,我將圖像作爲NSData存儲在CoreData中,我在視圖中提取了圖像,並且沒有使用批處理我會嘗試你的建議(文件路徑) –