iOS框架-已加载nib,但未设置视图出口

iOS框架-已加载nib,但未设置视图出口,ios,objective-c,xcode,xcode6,ios-frameworks,Ios,Objective C,Xcode,Xcode6,Ios Frameworks,我看到了许多与我类似的问题,但没有解决方案,这可能是因为我正在创建iOS框架,然后将其导入到项目中 基本上,我有一个登录框架,如果用户没有登录,我想显示一个webview 我的普通项目将调用我的框架,如果我需要验证,登录框架将告诉我加载某个.xib以登录 在我的框架中,这个.xib被命名为SignIn.xib,它包含一个视图控制器,其中包含一个webview,如您所见: 现在,在我的框架中,我初始化视图控制器并调用委托的一个函数来加载SignenView: NSString* const fr

我看到了许多与我类似的问题,但没有解决方案,这可能是因为我正在创建iOS框架,然后将其导入到项目中

基本上,我有一个登录框架,如果用户没有登录,我想显示一个webview

我的普通项目将调用我的框架,如果我需要验证,登录框架将告诉我加载某个.xib以登录

在我的框架中,这个.xib被命名为SignIn.xib,它包含一个视图控制器,其中包含一个webview,如您所见:

现在,在我的框架中,我初始化视图控制器并调用委托的一个函数来加载SignenView:

NSString* const frameworkBundleID  = @"iOSLoginSDK";
NSBundle* bundle = [NSBundle bundleWithIdentifier:frameworkBundleID];

SignInViewController* signInViewController = [[SignInViewController alloc] initWithNibName:@"SignIn" bundle:bundle];

[self.delegate loadSignInView:signInViewController];
在我的项目中,我只需执行以下操作,delagate将调用此方法:

-(void) loadSignInView:(CYMSignInViewController *)signInViewController {
     [self presentViewController:signInViewController animated:YES completion:nil];
}
但是,我在尝试运行应用程序时出现以下错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "SignIn" nib but the view outlet was not set.
我正在使用XCode 6.3.2

编辑1:我认为出现问题是因为我的xib中有一个视图控制器。我可以这样做吗?

编辑2:这里是我在my.xib中的出口

Edit3:我试图重新创建笔尖,但仍然出现相同的错误

以下是我所做的步骤:

  • 我创建了一个空的xib
  • 我添加了一个视图控制器,然后在其上添加了我的元素
  • 我创建了一个视图控制器文件,并将其设置为视图控制器的自定义类

  • 我在这里遗漏了什么吗?

    好的,所以基本上,在一个独立的.xib中似乎不能有一个视图控制器。我认为,因为.xib在某种程度上是一个视图控制器(有人可以澄清)


    我所做的是,我创建了一个视图,正确地设置了我的设计,然后,我将我的ViewController类文件分配给了文件的所有者。这样,它现在可以工作了。

    您的nib中有一个简单的错误-最外面的
    UIView
    需要连接到UIViewController对象的
    视图
    出口。只需选择UIView并将控件拖动到UIViewController对象,然后选择
    视图
    outletMy outermost,您是指视图控制器,因为最外层是视图控制器还是文件所有者?因为看起来是这样,所以请参见edit2是否可以添加显示对象层次结构的左侧NIB navigator面板的屏幕截图?文件所有者应该是您的UIViewController类
    SignenViewController
    -实际NIB组件层次结构中的第一个对象应该是UIView-此视图将包含您的工具栏和UIWebView我想这就是我拥有的:它从屏幕截图上看是正确的。它看起来像一个非常简单的笔尖——也许可以尝试重新创建它。这就是你应该如何做的——对不起,从你的截图上看不清楚你做了什么。可以使用容器将另一个UIViewController添加到视图中,但该UIViewController实例通常与其自己的NIB或情节提要场景相关联