-1

テーブルビューから行が選択されたときに、ViewController をスタックにプッシュしています。

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);

この新しいビュー コントローラー ビューは、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]))
 }

問題は私が得ることです:

スレッド 1: EXC_BAD_ACCESS ....'

loadView() の 1 行目でコメントのテキストビューを初期化するとエラーが発生します。

デバッグすることで、 loadMethod() が何度も呼び出され、最終的にアプリがメモリ不足になるため、エラーが発生することに気付きました。

loadView() が継続的に呼び出される理由は何ですか?

ありがとう

4

1 に答える 1