我正在尝试从URL中获取图像,并将其作为我的应用程序中的联系人的缩略图

时间:2015-05-19 07:03:44

标签: ios xcode swift

我可以从网址获取图片,并能够在UIImageView的{​​{1}}中显示图片。我想在此DetailViewController中将此网址中的相同图片显示为缩略图。

我的viewDidLoad

tableviewcell

在此功能中,我尝试从URL

获取图像
override func viewDidLoad() {
    super.viewDidLoad()
    self.UrlField.text = contact.Imageurl
    let urlString = UrlField.text
    loadImageView(urlString)
 }

func textFieldShouldReturn(textField: UITextField) -> Bool {
    let urlString = UrlField.text
    loadImageView(urlString)
    textField.resignFirstResponder()
    return true
}

在我的func loadImageView(url : String){ self.contact.Imageurl = url self.contact.data = nil let DatatoImage: (NSData?) -> Void = { if let d = $0 { let image = UIImage(data: d) self.imageView.image = image }else{ self.imageView.image = nil } } if let d = contact.data { DatatoImage(d) } else { contact.loadImage(DatatoImage) } } 我设法加载了一个我在我的文件夹中硬编码的图像,并将其命名为“images1.jpeg”

cellForRowAtIndexPath

MainViewController

cell.imageView?.image = UIImage (named: "images1.jpeg", inBundle: nil, compatibleWithTraitCollection: nil)

1 个答案:

答案 0 :(得分:0)

/* Create our configuration first In view did load */
let configuration =
NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.timeoutIntervalForRequest = 15.0
configuration.URLCache=NSURLCache(memoryCapacity: 4*1024*1024, diskCapacity: 20*1024*1024, diskPath: "CustomName"))
configuration.requestCachePolicy=NSURLRequestUseProtocolCachePolicy;


/* Now create our session which will allow us to create the tasks */
var session: NSURLSession!
session = NSURLSession(configuration: configuration,
  delegate: self,
  delegateQueue: nil)   



/* Now attempt to download the contents of the URL in tableView cellForRowAtIndexpath */
let url = NSURL(string: "<# place your URL here #>")

task=session.dataTaskWithRequest(url!, completionHandler: { (NSData!, NSURLResponse!, NSError!) -> Void in
   cell.imageView.image=UIImage(data: NSData))


})
task.start()

您也可以设置缓存,以便在触发请求时下一个tym然后从缓存中调用