outlets in UIViewController nil in viewdidload

2019-06-16 19:48发布

问题:

I have a UIViewController with an outlet for a tableView

@IBOutlet weak var tableView: UITableView!

When I try to access the tableView variable in viewDidload it's throwing an error saying tableView is nil.

Everything seems to be set up in the interface builder. The class for File's Owner is set to my custom class and the tableView outlet is set as well. What could be going wrong here, why is tableView variable still nil even inside viewDidLoad?

回答1:

Did you type out that outlet code without creating a link?

If you did that would be your problem. Go back to your Storyboard, switch to assistant editor mode and CTRL + Drag from the UITableView to @IBOutlet weak var tableView: UITableView!

Ensure you're got a FILLED IN circle to the left of your var similar to this.



回答2:

Found an issue on Xcode 9.4.1:

Try to close Xcode and reopen. For some reason I encountered this bug on Xcode.