Haneke ライブラリを使用して Twitter から画像を取得するアプリを開発しています。画像を取得したら、UITableView を使用して表示します。一度に 10 枚の写真を取得します。アプリはロードされますが、メモリ リークが原因ですぐにクラッシュします。
画像を設定するために使用しているコードは次のとおりです。
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!)
と、メモリ警告が表示されなくなり、クラッシュしなくなりました。
これは私がこれまでに取り組んだ、または作成した最初のアプリです。このメモリの問題を解決するにはどうすればよいですか? それとも、ハネケライブラリの使い方が間違っているのでしょうか?
事前に感謝します。上記は Instruments からの出力です。
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 メソッドです。これまでのところ、画像を操作しているだけです。AlamoFire ライブラリself.results
を使用して API からロードされます