OGeek|极客世界-中国程序员成长平台

标题: ios - 在我的表格 View 中设置单元格时索引超出范围 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:11
标题: ios - 在我的表格 View 中设置单元格时索引超出范围

在我的表格 View 中设置单元格时,我遇到了这个问题:

日志:

* Terminating app due to uncaught exception 'NSRangeException', reason: '* -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4]' *** First throw call stack: (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: terminating with uncaught exception of type 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
}

作为图片问题:

Click here



Best Answer-推荐答案


你可以试试这个:-

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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4