I am pushing a ViewController onto the stack when a row is selected from a tableview:
if let cell = tableView.cellForRowAtIndexPath(indexPath){
let genre = cell.textLabel?.text ?? SelectGenreTableViewController.genres[0]; // nil coalsing trtary operand, if text desnt exist assign first value or static array belining to class not instance
let vc = AddCommentsViewController();
vc.genre = genre;
navigationController?.pushViewController(vc, animated: true);
This new view controller view is built programmatically in loadView():
override func loadView() {
// pin the text voew to all sides and use dynamoc to make font size adjustable to user
comments = UITextView(); // BAD ACCESS THROWN HERE
comments.translatesAutoresizingMaskIntoConstraints = false;
comments.delegate = self;
comments.font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody);
view.addSubview(comments);
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[comments]|", options: .AlignAllCenterX, metrics: nil, views: ["comments": comments]))
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[comments]|", options: .AlignAllCenterX, metrics: nil, views: ["comments": comments]))
}
The issue is I get a :
Thread 1: EXC_BAD_ACCESS ....'
error when the comments textview is initialised in line 1 of loadView().
By debugging I have noted the loadMethod() gets called over and over again and eventually the app runs out of memory, hence the error.
Any idea why loadView() would be called continouly?
Thanks
Forgot to call super.loadView();