0

私は次のMasterViewControllerを持っています:

- (id) init{
self = [super init];
if(self){
    //self.title = @"Main Menu";
    //self.clearsSelectionOnViewWillAppear = NO;
    self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);

    UIImageView* imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"view-1_0000s_0000_Muskoka-Logo1"]];
    self.navigationItem.titleView = imageView;

    self.tableView.backgroundColor = [UIColor clearColor];
    self.tableView.opaque = NO;
    self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage    imageNamed:@"view-1_0002s_0003s_0001_Bottom-panel"]];
    self.tableView.scrollEnabled = NO;

}
return self;

}

マスター内のテーブルビューがnullであるため、テーブルビューコントローラーの背景色を設定しようとするとクラッシュします。そこにある画像はもちろんnullではありません。

私の唯一の推測は、[super init] が適切に機能していないということですか?

4

1 に答える 1

1

ビュー コントローラーのビューとサブビューは、ロードされるまで存在しません。これはloadView、ビュー階層がコード内または xib から構築されるときに発生します。これらのカスタマイズはすべてviewDidLoad. クラッシュしていることに驚いていますが、nil へのメッセージはクラッシュを引き起こしません。

于 2013-01-21T18:27:57.940 に答える