[英]How to upload image from web service to tableview for Swift3?
Rest web service is as follows.其余的网络服务如下。 I would also like to use the Photo data in this tableviewCell.我还想使用此 tableviewCell 中的照片数据。
{
"moduleitems": [
{
"Module_id": 29,
"Hotel_id": 1,
"Module_Name": "Standart Oda",
"Connected_Module": 24,
"Photo": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZEsRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTsAIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4JUuQLrbPipgalyxmGCV="
},,
{
"Module_id": 31,
"Hotel_id": 1,
"Module_Name": "Aile Odası",
"Connected_Module": 24,
"Photo": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZEsRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTsAIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4JUuQLrbPipgalyxmGCVm=
}
Swift3 for TableView用于 TableView 的 Swift3
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return Module?.list!.count ?? 0
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! CustomCell
cell.InfoLabel.text = Module?.list![indexPath.row].moduleName
cell.InfoLabel.textColor = UIColor.white
cell.InfoImage.image = UIImage(named: (Module?.list![indexPath.row].photo)!)
// cell.InfoImage.image = Module?.list![indexPath.row].photo
return cell
}
Thank you for your help.感谢您的帮助。
Seems you are using UIImage(named:)
instead of UIImage(data: data)
.似乎您正在使用UIImage(named:)
而不是UIImage(data: data)
。 Do like this这样做
if let imageDataString = (Module?.list?[indexPath.row].photo), let dataDecoded = Data(base64Encoded: imageDataString, options: .ignoreUnknownCharacters), let img = UIImage(data: imageData){
cell.InfoImage.image = img
} else {
cell.InfoImage.image = // set default/placeholder image
}
PS: I assume that you have parsed the JSON response and converted image data string into Data
. PS:我假设您已经解析了 JSON 响应并将图像数据字符串转换为Data
。
I found the answer to my question like this.我找到了这样的问题的答案。
if let imageDataString = (Module?.list?[indexPath.row].photo),
let dataDecoded : Data = Data(base64Encoded: imageDataString, options: .ignoreUnknownCharacters)!,
let img = UIImage(data: dataDecoded)
{
cell.InfoImage.image = img
}else{
cell.InfoImage.image = UIImage(named: "default_image")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.