致命错误:索引超出范围:Swift
Posted
技术标签:
【中文标题】致命错误:索引超出范围:Swift【英文标题】:fatal error : Index Out of Range : Swift 【发布时间】:2017-08-30 14:05:23 【问题描述】:我有 JSON 图像。
let imagestring : String? = (myData as AnyObject).value(forKey: "Post_mid_image") as? String
if imagestring != nil
let imageTrueString = "https://www.zdoof.com/" + imagestring!
self.imageStringArray.append(imageTrueString )
print(self.imageStringArray)
当我试图把它放在表格视图上时:
let myImage = cell.viewWithTag(30) as! UIImageView
let myImageString : String? = imageStringArray[indexPath.row]
if myImageString != nil
let ImageUrl = URL.init(string: myImageString!)
myImage.kf.setImage(with: ImageUrl)
它显示如下错误:
致命错误:索引超出范围
我的代码有什么问题?
【问题讨论】:
您没有发布您的numberOfRowsForSection:
方法的代码,但这里发生的情况是您正试图显示一个实际上并不存在于您的 imageStringArray
中的行。跨度>
那么,这里怎么办,请帮忙
你能贴出返回表格行数的代码吗?
【参考方案1】:
你这样的行数方法
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return imageStringArray.count
并使用 if let 避免强制转换
if let myImage = cell.viewWithTag(30) as? UIImageView
if let myImageString = imageStringArray[indexPath.row] as? String
let ImageUrl = URL.init(string: myImageString!)
myImage.kf.setImage(with: ImageUrl)
更新:-
if indexPath.row < imageStringArray.count
if let myImageString = imageStringArray[indexPath.row] as? String
let ImageUrl = URL.init(string: myImageString!)
myImage.kf.setImage(with: ImageUrl)
【讨论】:
我正在尝试展示一些 cmets(可能有 cmets 和图像/只有评论)。如果我写 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int return imageStringArray.count 它只显示有图像的评论 答案已更新以上是关于致命错误:索引超出范围:Swift的主要内容,如果未能解决你的问题,请参考以下文章
Swift TableView ImageView + Label = 致命错误:索引超出范围