在表格视图中设置单元格时,出现了以下问题:
日志:
*由于未捕获的异常“NSRangeException”而终止应用程序,原因:“* -[__ NSArrayM objectAtIndex:]:索引5超出范围[0 .. 4]”
***首先抛出调用堆栈:
(0x18696afd8 0x1853cc538 0x1868491f0 0x100918a30 0x10091960c 0x18cddf114 0x18cddf32c 0x18cdcca30 0x18cde431c 0x18cb7c92c 0x18ca97158 0x189c87274 0x189c7bde8 0x189c7bca8 0x189bf7360 0x189c1e3c0 0x189c1ee8c 0x1869189a0 0x186916628 0x186846db4 0x1882b0074 0x18caff130 0x1006920bc 0x18585559c)
libc ++ abi.dylib:以NSException类型的未捕获异常终止
internal func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (tableView == tableview) {
let cell = tableView.dequeueReusableCell(withIdentifier: "table", for: indexPath as IndexPath) as! homeTableViewCell
if (titlearray.count != 0) {
let tit: NSString = self.titlearray[indexPath.row] as! NSString
print("titlearraytitlearray\(titlearray)")
appDelegate.trendseetitarray = titlearray
print("appDelegatetrendseearray\(appDelegate.trendseetitarray)")
cell.treadingtitle.text! = tit as String
}
if (pricearray.count != 0) {
let tit: NSString = self.pricearray[indexPath.row] as! NSString
appDelegate.trendseepricearray = pricearray
cell.trendingprice.text! = tit as String
}
if (addressarraylist.count != 0) {
let tit: NSString = self.addressarraylist[indexPath.row] as! NSString
appDelegate.addressarraylist = addressarraylist
}
if (imagearray.count != 0 && imagearray.count != nil ) {
print(imagearray)
let roomurl=URL(string: "\(imagearray[indexPath.row])")
// print("Room URL:\(roomurl!)")
appDelegate.trendseeimagearray = imagearray
cell.Trendingimg.sd_setImage(
with: roomurl,
placeholderImage: UIImage(named:"no_image.png"),
options: SDWebImageOptions.refreshCached,
completed: { (image1: UIImage?, error1: Error?, cacheType1: SDImageCacheType, imageURL1: URL?) -> Void in
}
)
cell.Trendingimg.clipsToBounds = true;
cell.Trendingimg.sd_setImage(with: roomurl, completed: self.block1)
}
return cell
}
return UITableViewCell()
}
错误:
if (addressarraylist.count != 0) {
let tit: NSString = self.addressarraylist[indexPath.row] as! NSString
appDelegate.addressarraylist = addressarraylist
}
作为图像发行:
最佳答案
您可以尝试以下方法:
if self.addressarraylist.count > indexPath.row {
let tit: NSString = self.addressarraylist[indexPath.row] as! NSString
appDelegate.addressarraylist = addressarraylist
}
关于ios - 在表格 View 中设置单元格时超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44928339/