Uitableview 在设备中运行时,在展开可选值时意外发现nil

Uitableview 在设备中运行时,在展开可选值时意外发现nil,uitableview,swift,uitabbarcontroller,Uitableview,Swift,Uitabbarcontroller,好吧,在模拟器中调试应用程序工作正常,但在使用设备(iPhone)运行时,它会显示类似错误的错误 在展开可选值时意外发现nil 同样的问题-“” 日志: indexath#2 索引#3 indexath#1 致命错误:在展开可选值时意外发现nil许多情况都会导致在展开时发现nil,如果您不了解可选值,我强烈建议您阅读文档中的相关内容 据我所知,您至少使用了3个隐式展开的选项(这可以通过!在某些变量之后看到),它们都遵循“UIImage” 我假设此错误可能是由于UIImage“Dot2”(或其他图

好吧,在模拟器中调试应用程序工作正常,但在使用设备(iPhone)运行时,它会显示类似错误的错误

在展开可选值时意外发现nil

同样的问题-“” 日志:

indexath#2 索引#3 indexath#1


致命错误:在展开可选值时意外发现nil

许多情况都会导致在展开时发现nil,如果您不了解可选值,我强烈建议您阅读文档中的相关内容

据我所知,您至少使用了3个隐式展开的选项(这可以通过!在某些变量之后看到),它们都遵循“UIImage”

我假设此错误可能是由于UIImage“Dot2”(或其他图像之一)在项目中不存在,或命名不正确所致

如果不是这样的话,那么您真的需要添加一些断点,并尝试隔离发生此错误的代码行,正如前面所说的,许多情况可能会导致可选的查找nil

编辑:


当您尝试在“indexPath”处访问对象时,newsloglbl发现为零,似乎您的indexPath可能大于newsloglbl的大小,因此当尝试在该路径访问对象时,它什么也找不到,但失败了。如果您需要更详细的帮助,请提供newloglbl的一些代码

您应该提供更多信息,例如发生在哪里、更多的崩溃日志等。如果没有这些信息,就不可能知道发生了什么。嘿@Antonio我编辑了ans,您现在能帮我吗?您有发生错误的代码行吗?如果没有,您能否设置一个断点并单步执行代码来解决这个问题?Desclable.text=(newsloglbl[indexPath.row]as NSString)-在这一行中出现错误OK-为了清楚起见,您应该在问题中报告这一点
 case 8:
    var myview = UIView()
    myview.backgroundColor = UIColor.whiteColor()
    myview.layer.shadowOffset = CGSizeMake(1, 0);






    if indexPath.row == 0
    {
        myview.frame = (frame: CGRectMake(10, 0, 300, 30))

        let  titlelable:UILabel = UILabel(frame: CGRectMake(70, 5, 200, 20))
        //        let titlelable = self.mylable("Past Employers", sizeoflable: CGRectMake(100, 10, 150, 25), labelcolor: UIColor.blackColor(), labelfont: UIFont.systemFontOfSize(10), labeltextalinment: NSTextAlignment.Left)
        titlelable.text="  News & Press"
        titlelable.textColor = UIColor.blackColor()
        titlelable.font = UIFont.systemFontOfSize(20)
    //    titlelable.font = UIFont(name:"Source Sans Pro",size:20)
        titlelable.textAlignment = NSTextAlignment.Left
        myview .addSubview(titlelable)
        cell .addSubview(myview)

    }

    else if indexPath.row == 4
    {

        var imageVEml = UIImageView(frame:CGRectMake(120, 30, 24, 15 ))
        var imageEml : UIImage = UIImage(named:"view-all-icon2x")!
        imageVEml.image = imageEml
        myview .addSubview(imageVEml)


        let  TimeLabel:UILabel = UILabel(frame: CGRectMake(155, 13, 200, 50))
        //        let titlelable = self.mylable("Past Employers", sizeoflable: CGRectMake(100, 10, 150, 25), labelcolor: UIColor.blackColor(), labelfont: UIFont.systemFontOfSize(10), labeltextalinment: NSTextAlignment.Left)
        TimeLabel.text = "View all"
        TimeLabel.textColor = UIColor(red: 21.0/255,  green: 181.0/255, blue: 226.0/255, alpha: 1)
       TimeLabel.font = UIFont.systemFontOfSize(15)
     //    TimeLabel.font = UIFont(name:"Source Sans Pro",size:15)
        TimeLabel.textAlignment = NSTextAlignment.Left
        myview .addSubview(TimeLabel)


        cell.addSubview(myview)

    }
    else if indexPath.row == 1 || indexPath.row == 2 || indexPath.row == 3
    {
        println("indexpath#\(indexPath.row) ")
        //            cell.textLabel.text = NameArray[indexPath.row]as NSString
        //            cell.detailTextLabel?.text = DescArray [indexPath.row]as NSString
        myview.frame = (frame: CGRectMake(10, 0, 300, 100))
        let  titlelable:UILabel = UILabel(frame: CGRectMake(10, 3, 300, 80))
        //        let titlelable = self.mylable("Past Employers", sizeoflable: CGRectMake(100, 10, 150, 25), labelcolor: UIColor.blackColor(), labelfont: UIFont.systemFontOfSize(10), labeltextalinment: NSTextAlignment.Left)



        titlelable.text  = newsTitlearray[indexPath.row] as NSString
        titlelable.textColor = UIColor.blackColor()
        titlelable.numberOfLines = 0
        titlelable.font = UIFont.systemFontOfSize(18)
   //      titlelable.font = UIFont(name:"Source Sans Pro",size:18)
        titlelable.textAlignment = NSTextAlignment.Left
        myview .addSubview(titlelable )

        let  TimeLabel:UILabel = UILabel(frame: CGRectMake(130, titlelable.frame.size.height, 200, 25))
        //        let titlelable = self.mylable("Past Employers", sizeoflable: CGRectMake(100, 10, 150, 25), labelcolor: UIColor.blackColor(), labelfont: UIFont.systemFontOfSize(10), labeltextalinment: NSTextAlignment.Left)


        TimeLabel.text = newsTimearray[indexPath.row] as NSString
        TimeLabel.textColor = UIColor.grayColor()
        TimeLabel.font = UIFont.systemFontOfSize(15)
     //    TimeLabel.font = UIFont(name:"Source Sans Pro",size:15)
        TimeLabel.textAlignment = NSTextAlignment.Left
        myview .addSubview(TimeLabel)

        var imageVEml2 = UIImageView(frame:CGRectMake(115, titlelable.frame.size.height+7, 10, 10 ))
        var imageEml2 : UIImage = UIImage(named:"Dot2")!
        imageVEml2.image = imageEml2
        myview .addSubview(imageVEml2)


        let  Desclable:UILabel = UILabel(frame: CGRectMake(30, titlelable.frame.size.height, 100, 25))

        Desclable.text = (newslogolbl[indexPath.row] as NSString)
        Desclable.textColor = UIColor.grayColor()
        Desclable.numberOfLines = 0
        Desclable.font = UIFont.systemFontOfSize(15)
   //      Desclable.font = UIFont(name:"Source Sans Pro",size:15)
        Desclable.textAlignment = NSTextAlignment.Left
        myview .addSubview(Desclable)

        var imageVEml = UIImageView(frame:CGRectMake(10, titlelable.frame.size.height+5, 15, 15 ))
        var imageEml : UIImage = UIImage(named:companyLogo [indexPath.row] as NSString)!
        imageVEml.image = imageEml
        myview .addSubview(imageVEml)



        cell.addSubview(myview)


              }


    break