我正在尝试使用Instagram上某个位置的照片创建一个应用程序。我已成功获得所有细节和图片网址,并试图将照片放入桌面视图中。这是我的代码。
if (indexPath.row == 0) {
var instagramCell1:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("instagramCell1") as UITableViewCell
if var imageURLString = allDataArray[indexPath.section]["image_standard"] as NSString! {
ImageLoader.sharedLoader.imageForUrl(imageURLString, completionHandler:{(image: UIImage?, url: String) in
//IMAGE
var cellImageView = UIImageView(image: image)
cellImageView.frame = CGRect(x: 0, y: 0, width: screenWidth, height: screenWidth)
instagramCell1.selectionStyle = UITableViewCellSelectionStyle.None
instagramCell1.addSubview(cellImageView)
})
}
return instagramCell1
}
要获取我正在使用的图像swift image loader。问题是当每个图像放入表中时,它似乎继续添加到内存(缓存?),即使向后滚动它也会继续添加更多内容。 (我发布了一张图片,但没有足够的代表)无论如何,有谁知道我做错了什么,
由于
答案 0 :(得分:0)
我相信你每隔一段时间就会进行一次URL获取,这会导致很多网络工作。
至于内存,我不确定swift image loader
是如何工作的,但如果我没弄错,则URL提取会导致内存问题。
您可以尝试在呈现UITableView之前将所有图像提取到某些数据结构中,并在cellForRowAtIndexPath:
内部仅使用此数据结构将图像加载到单元格中