意外的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