2017-02-02 9 views
0

私は同様の質問をいくつか読んだことがありますが、どれも私のために働いていませんでした。さて、私は、リストに異なる画像を表示し、それらの画像をキャッシュに保存しようとしています。 iconView.sd呼び出しでエラーが発生します。リストからSDWebImageからの呼び出しを呼び出すことができません

import UIKit 
import SDWebImage 

class TableViewCell: UITableViewCell { 

var item: ItemRealm? { 
    didSet { 
     if item == nil { 
      iconView.image = nil 
      itemTitleLabel.text = "Test" 
      itemDescLabel.text = "Some description" 
     } else { 
      // TODO: Implement item sets 
      iconView.sd_setImage(with: NSURL(string: (item?.icon)!), 
           placeholderImage: UIImage(named: "placeholder.png"), 
           completed: { (image: UIImage!, error: NSError!, cachetype: SDImageCacheType, imageURL: NSURL!) in 

              }) 
      itemTitleLabel.text = item?.name 
      itemDescLabel.text = item?.desc 

     } 
    } 
} 

@IBOutlet weak var iconView: UIImageView! 
@IBOutlet weak var itemTitleLabel: UILabel! 
@IBOutlet weak var itemDescLabel: UILabel! 

override func awakeFromNib() { 
    super.awakeFromNib() 
    iconView.layer.cornerRadius = 4 
} 

override func prepareForReuse() { 
    super.prepareForReuse() 
    self.item = nil 
} 

} 

Error : TableViewCell.swift:22:26: Cannot invoke 'sd_setImageWithURL' with an argument list of type '(NSURL?, placeholderImage: UIImage?, completed: (UIImage!, NSError!, SDImageCacheType, NSURL!) ->())'

アイコン(ログ):

; icon: Optional("http://192.168.1.101:8080/api/items/0/icon.png") 
; icon: Optional("http://192.168.1.101:8080/api/items/1/icon.png")... 

答えて

0

問題は、Swift3に置き換えられましたし、新しいデータ型にマッピングされたばかりの古いNS-タイプの使用、であってもよいですSwift3によって自動的に今すぐ。

iconView.sd_setImage(with: URL(string: item!.icon), 
     placeholderImage: UIImage(named: "placeholder.png"), 
        options: .highPriority) { image, error, cacheType, imageURL in 
} 
+0

エラーが発生しました。「sd_setImage」をあいまいに使用しています。 – Vuko

+0

編集した答えのようにタイプを正しく指定しても、同じことを試してみて、同じことを経験しました。 'options:'引数を追加すると、私のために働くだけです。 – Kie

+0

Okey。ありがとうございます。このオプションを追加する場所:議論もし私が尋ねることができますか? – Vuko

1

これは私のために働いています。オプションを追加することを忘れないでください:このような議論。

iconView.sd_setImage(with: URL(string: item!.icon), placeholderImage: 
     UIImage(named: "placeholder.png"), options: SDWebImageOptions(), 
     completed: { (image: UIImage?, error: Error?, cachetype: SDImageCacheType, 
    imageURL: URL?) in 
      }) 
関連する問題