1

私はこれで数時間過ごしました。このプロジェクトにはいくつかのView Controllerがあり、問題を引き起こしているのは1つではありませんが、突然、この新しいView Controllerが発生しました。私はそれを削除して「テスト」View Controllerを作成しましたが、サイコロはありません。私が言える最善のことは、実際にはビューを作成していないため、ビューが参照されるとアプリがクラッシュします。テスト VC には、-viewDidLoad メソッドのログ ステートメントを除いて、追加または削除されたコードはありません。-loadView をオーバーライドしていません。ビューをサブビューに追加しようとしたり、VC をナビゲーション コントローラーにプッシュしようとしたり、単に test.view をログに記録しようとしたりしました。NIB を使用して VC を作成しようとしましたが、NIB なしで試してみました。まったく何も機能しません。どんな助けでも大歓迎です。

VC が別の VC の内部で作成されている場所。ログ ステートメントが原因でクラッシュが発生します。ただし、サブビューとして追加したり、nav コントローラーにプッシュしたりすることもできます。

    TestViewController *test = [[TestViewController alloc] init];
NSLog(@"test view = ", test.view);

TestViewController の実装。

    @implementation TestViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    NSLog(@"view = %@", self.view);
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
4

3 に答える 3

1

ビューからすべての接続を再確認すると思います。特に、古いVCへの接続を簡単に残すことができるため、コピーまたは移動した場合

于 2012-12-31T22:23:02.840 に答える
0

プロジェクトでARCを使用していない場合は、nibファイルの自動レイアウトボックスをチェックしないでください。ARCを使用している場合は、ファイルの所有者への接続が唯一の問題になる可能性があります。

于 2012-12-31T21:36:48.247 に答える