0

私のiPhoneアプリでtabBarContollerは、タブの1つにwebView(PDFViewController)を表示するように設定しています。

私が直面している問題はTerminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "PDFViewController" nib but the view outlet was not set.'

わかりました、ストーリーボードを使用して私の別のプロジェクトでこの webView を問題なく設定できるので、問題はnibファイルにあることがわかります。

アプリのデリゲートで VC をセットアップしました (そのため、VC をtabBarController

PDFViewController *pdfVC = [[PDFViewController alloc] initWithNibName:nil bundle:nil];
  pdfVC.tabBarItem.image = [UIImage imageNamed:@"second"];

  NSArray *controllers = [NSArray arrayWithObjects:frontPageNavController, campusNavController, opinionNavController, sportsNavController, pdfVC, nil];

self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = controllers;

私の .xib には、ビューが設定されているだけです。

ここに私のPDFViewController.m

@implementation PDFViewController 

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

- (void)viewDidLoad
{
  [super viewDidLoad];

  UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.height)];

  NSURL *targetURL = [NSURL URLWithString:@"http://issuu.com/miamistudent/docs"];
  NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
  [webView loadRequest:request];

  [self.view addSubview:webView];
}

このエラーの原因は何ですか? 私は PDFViewController.xib で通常の ViewController を設定しようとしましたが、それは何の役にも立ちませんでした。ありがとう !

4

2 に答える 2

0
  • ビューを右クリックし、参照アウトレットをファイル所有者ビューに設定します
  • それ以外の場合は、ターゲットに移動します->ビルドフェーズ->バンドルリソースのコピーを確認し、.Xibが存在するかどうかを確認します。
于 2013-01-26T09:01:12.477 に答える
0

PDFViewControllerはビューを期待しているため、nibファイルではビューをビューコントローラーに接続する必要があります。

于 2013-01-26T09:01:24.643 に答える