2017-09-26 57 views
2

我的应用程序最近(iOS版11)开始崩溃时,一个自定义的UIViewController加载:iOS的11 - 建议自定义视图控制器不加载 - 崩溃

出现在该行的崩溃:

PDFViewController *pdfvc = [self.storyboard instantiateViewControllerWithIdentifier:@"PDFView"];

我确认:

  • 在我引用正确的自定义类PDFViewController故事板和ID正确PDFView
  • 超类已经利用initWithCoder

确切的错误我得到的是:

[PDFViewController initWithCoder:]: unrecognized selector sent to instance 0x1c0
2017-09-26 22:35:44.578082+0900 flightcomp[9764:3233421] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PDFViewController initWithCoder:]: unrecognized selector sent to instance 0x1c0' 

现在我真的搜索在这个疯狂的周围 - 经历过这么多的StackOverflow和谷歌的网页找什么。

所以我的问题是 - 可能有人,请建议一些可能导致此问题的事情,以便我可以进一步调试。

谢谢。

p.s.

为PDFViewController的.H样子:

@interface PDFViewController : UIViewController <UIPrintInteractionControllerDelegate> 

为PDFViewController的.M是这样的:

@implementation PDFViewController 

- (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. 
} 
+0

您在XIB中有viewcontroller?我可以看到'initWithNibName' –

+0

是的,我在故事板中有viewController。那里有什么不对吗? – userMod2

+0

是你从哪里调用的'initWithNibName'方法? –

回答

3

https://i.stack.imgur.com/BSneC.png

的问题是,苹果的iOS为11的已经包括PDFKit作为一个框架。我相信PDFViewController现在是这个框架的保留名称。我有同样的问题,并将PDFViewController更改为SuperDuperPDFViewController后工作得很好。

+0

啊!这解释了一切。 所以我实际上创建了另一个视图和另一个控制器(自然使用PDFViewControllerTwo),并假设它是新的它的工作。 当我删除PDFViewControllerTwo来检查原始(因为它只是一个副本),它再次开始崩溃。 非常感谢您的确认 - 希望错误消息说::) – userMod2

+0

谢谢,它的工作。但为什么在编译时没有显示任何错误。 – Ujesh

0

重命名PDFView喜欢的东西MyPDFView。

相关问题