我有一个JSON链接,我正在使用Alamofire将数据解析到我的表视图。我有来自Json的Text,但图片没有显示。
导入UIKit 进口Alamofire 导入AlamofireImage
类ViewController:UIViewController,UITableViewDelegate,UITableViewDataSource {
Optional.ofNullable(outher)
.map(Outher::getNested)
.map((outer) -> outer.getInner() == null ? null : outer)
.map(Nested::getAnotherInner)
.isPresent();
此处称为JSON
@IBOutlet var tableView: UITableView!
var newsArray = [AnyObject]()
override func viewDidLoad() {
super.viewDidLoad()
此处数据已加载到表格视图中
Alamofire.request("http://iccukapp.org/Api_json_format").responseJSON { response in
let result = response.result
if let dict = result.value as? Dictionary<String,AnyObject>{
if let innerDict = dict["result"]{
self.newsArray = innerDict as! [AnyObject]
self.tableView.reloadData()
}
}
}
}
这个网址是我的图片网址,但如果我查看我的JSON,图片名称前面没有网址。这是我的json链接http://iccukapp.org/Api_json_format。 我有图像资产链接。链接在这里http://iccukapp.org/assets/admin/images/ enter link description here
有没有办法在我的网址上添加外部链接?
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return newsArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TableViewCell
let title = newsArray[indexPath.row]["title"]
cell.newsLabel.text = title as? String
}
高级感谢。
答案 0 :(得分:0)
我认为您需要将图像名称附加到图像资源链接,然后使用该网址显示图像。试试这个
let imageUrl = "http://iccukapp.org/assets/admin/images/" + (self.newsArray[indexPath.row]["post_iamge"]! as! String)
let url = NSURL(string:imageUrl)
cell.imageVieww.af_setImage(withURL: url! as URL, placeholderImage: #imageLiteral(resourceName: "loadig.gif"), filter: nil, imageTransition: .crossDissolve(0.5), runImageTransitionIfCached: true, completion: nil)
答案 1 :(得分:0)
您需要使用图片字符串附加服务器网址。
let fullImageUrl = "your serverurl" + (self.newsArray[indexPath.row]["post_iamge"]! as! String)
let url = URL(string: fullImageUrl) as URL
cell.imageVieww.af_setImage(withURL: url!, placeholderImage: #imageLiteral(resourceName: "loadig.gif"), filter: nil, imageTransition: .crossDissolve(0.5), runImageTransitionIfCached: true, completion: nil)