意外的label和tableview发现nil

Posted

技术标签:

【中文标题】意外的label和tableview发现nil【英文标题】:Unexpectedly label and tableview found nil 【发布时间】:2017-02-08 07:06:55 【问题描述】:

我正在为leftSlideMenu 加载nib 菜单已成功添加,但是当我设置lbltext 或重新加载表视图时,在展开选项值时意外发现错误为零。下面是我的代码。

这些是连接的插座

@IBOutlet weak var lblUserName: UILabel!
@IBOutlet weak var lblUserEmployee: UILabel!

这个方法在我的 UIView 类中

func prepareScreenWithView(navigationController: UINavigationController, viewSize: UIView) 

    nibView = Bundle.main.loadNibNamed("LeftSlideMenu", owner: self, options: nil)?[0] as! UIView
    navController = navigationController
    nibView.tag = 100
    var tempRect = nibView.frame
    print(tempRect)

    lblUserEmployee.text = "Employee Name" // here i am getting the error.


    tempRect =  CGRect(x: -200, y: 0, width: tempRect.width, height: UIScreen.main.bounds.height)
    viewSize.addSubview(self.nibView)
    lblUserEmployee.text = " "
    UIView.transition(with: self.nibView, duration: 2, options: [.beginFromCurrentState], animations: 
        tempRect.origin.x +=  200
        self.nibView.frame = tempRect

    )  (success) in

    

这是 UIViewController 类的@IBAction

@IBAction func onClick_Hamberger(_ sender: UIButton) 

    if !isShowingMenu 

        instanceOfLeftSlideMenu.prepareScreenWithView(navigationController: self.navigationController!, viewSize: self.view)
        btnHamburgerMenu.frame.origin.x += 200
        isShowingMenu = true
     else 

        instanceOfLeftSlideMenu.hideSlideMenu(navigationController: self.navigationController!, viewSize: self.view)
        btnHamburgerMenu.frame.origin.x -= 200
        isShowingMenu = false
    
   

谢谢。

【问题讨论】:

您是否重新检查了插座是否连接正确? 是的,插座连接正确。重新加载表格时也出现表格视图相同的错误。 检查如下: if let label = lblUserEmployee label.text = "Employee Name" 我得到了 nil 那么如何设置标签文本?? @S.Bharti 你能分享演示项目吗? 【参考方案1】:

尝试为 Bundle.main.loadNibNamed 的参数 owner 传递“nil”。

nibView = Bundle.main.loadNibNamed("LeftSlideMenu", owner: nil, options: nil)

【讨论】:

以上是关于意外的label和tableview发现nil的主要内容,如果未能解决你的问题,请参考以下文章

意外发现 nil 就行 tableView.datasource = self

tableview reloadData在解包可选值时崩溃意外发现的nil

推送 ViewController 时无法传输图像

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

CoreData TextField - 意外发现 nil

ScrollView -> View (Label + Label + TableView) 和自动布局