我被一個問題困住了。我想用一些文本和配置文件圖像填充tableview,這可以改變我使用它的功能。如何使用HanekeSwift Swift刪除緩存?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: CommonCellView!
cell = self.tableView.dequeueReusableCellWithIdentifier("CommonCellView") as! CommonCellView
cell.nameLabel.text = self.userCollection[indexPath.row].display_name
cell.companyLabel.text = self.userCollection[indexPath.row].user_organisation
cell.profileImage.hnk_setImageFromURL(NSURL(string: self.userCollection[indexPath.row].profile_picture)!)
self.makeImageViewCircular(cell.profileImage.layer, cornerRadius: cell.profileImage.frame.height)
cell.profileImage.clipsToBounds = true
return cell
}
沒有什麼可以在這裏驚喜。但是,當我改變我自己的個人資料圖片,然後我把它發送到API並修改這個功能它顯示緩存的圖像。所以我想我可能會嘗試一些有點不同,爲什麼不使用Alamofire獲得每個細胞的所有圖像。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: CommonCellView!
cell = self.tableView.dequeueReusableCellWithIdentifier("CommonCellView") as! CommonCellView
cell.nameLabel.text = self.userCollection[indexPath.row].display_name
cell.companyLabel.text = self.userCollection[indexPath.row].user_organisation
cell.profileImage.image = UIImage()
//getting the cell image
Alamofire.request(.GET, self.userCollection[indexPath.row].profile_picture)
.response {(request, response, avatarData, error) in
let img = UIImage(data: avatarData!)
cell.profileImage.image = img
}
self.makeImageViewCircular(cell.profileImage.layer, cornerRadius: cell.profileImage.frame.height)
cell.profileImage.clipsToBounds = true
return cell
}
這個工程到用戶scrolles非常快的一個不同的用戶的圖像將顯示,直到請求被滿足的點。因此,使這種情況發生,並使用數組作爲圖像。我也試過了。但是因爲它的異步,圖像會以錯誤的順序進入數組。所以回到HanekeSwift。我閱讀文檔,看到我在磁盤上有一個緩存,但我無法清除或刪除它。
清除緩存我也嘗試: NSURLCache.sharedURLCache()removeAllCachedResponses()
但我沒有做任何事情。它在Alamofire的情況下工作,但它也不是一個好的解決方案。
我想使用hanekeSwift,因爲HanekeSwift速度足以獲得所有圖像。但是每當控制器加載時我想清除緩存。
任何建議,將不勝感激!
Cees
你試過了:'Shared.imageCache.removeAll()'? – riik