首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS Haneke -内存警告然后崩溃

iOS Haneke -内存警告然后崩溃
EN

Stack Overflow用户
提问于 2015-06-02 22:15:58
回答 1查看 656关注 0票数 0

我正在开发一个应用程序,用Haneke图书馆从推特上获取图像。一旦我得到图像,我就用UITableView来显示它们。我一次拍十张照片。我的应用程序加载,但由于内存泄漏而很快崩溃。

用于设置图像的代码如下所示。

代码语言:javascript
复制
var tweetImage = "http://pbs.twimg.com/media/CGe89eqWQAACBxR.jpg"

if let var urlString = tweetImage {
  var url = NSURL(string: urlString)
  cell.tweetImage?.sizeToFit()
  cell.tweetImage?.hnk_setImageFromURL(url!)
}

当我注释掉最后一行cell.tweetImage?.hnk_setImageURL(url!)时,我不再接收内存警告,它也不会崩溃。

这是我做过的第一个应用程序,解决这个内存问题的最好方法是什么?还是我用错了哈内克图书馆?

预先感谢,以上是仪器的输出,如果这有帮助的话。

代码语言:javascript
复制
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell= tableView.dequeueReusableCellWithIdentifier("tweetCell", forIndexPath: indexPath) as! TweetTableViewCell

    if (indexPath.row % 2 == 0){
        cell.backgroundColor = UIColor.whiteColor()
    }else{
        cell.backgroundColor = UIColor(red: 0.973, green: 0.973, blue: 0.973, alpha: 1)
    }

    var row = self.results[indexPath.row]

    var text = row["text"].string
    var name = row["name"].string
    var image = row["image"].string
    var avatar = row["avatar"].string
    var votes = row["rank"].int
    var long = row["long"].string
    var lat = row["lat"].string
    var id = row["id"].int

    var tweetImage = image == nil ? avatar : image

    if let urlString = tweetImage {
        var url = NSURL(string: urlString)
        cell.tweetImage?.sizeToFit()
        cell.tweetImage?.hnk_setImageFromURL(url!)
    }

    return cell
}

以上是我的cellForRowAtIndexPath方法,到目前为止,我只是在处理图像。self.results是从带有AlamoFire库的api加载的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-04 17:33:34

我从原始代码中删除了cell.tweetImage?.sizeToFit(),现在它开始工作了。我不知道为什么我在那里的代码在第一,但删除它解决了内存泄漏问题。如果有人知道为什么在这个上下文中滥用cell.tweetImage?.sizeToFit()会导致内存泄漏,我很想知道。

正确代码:

代码语言:javascript
复制
var tweetImage = "http://pbs.twimg.com/media/CGe89eqWQAACBxR.jpg"

if let var urlString = tweetImage {
 var url = NSURL(string: urlString)
 cell.tweetImage?.hnk_setImageFromURL(url!)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30607567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档