在xCode中,我收到错误“加载笔尖但视图插座未设置”?

时间:2011-08-18 06:11:15

标签: objective-c interface-builder nib outlet

我知道有多个问题要求同样的事情,但他们的解决方案都不适合我。

我创建了一个自定义的viewController类(Home),我分别创建了一个.xib。 (实际上,我将有2个笔尖 - 一个用于加载ipad版本,另一个用于iphone)。

当我尝试实例化一个home类的实例时,我得到了我在问题中提到的错误。

在xib文件中,我所做的就是将一个viewcontroller对象从库中拖到屏幕上,它会自动在文件所有者和第一个响应者下面添加一个viewcontroller图标。然后我进入viewController对象的检查器,并将类从viewController更改为Home。

我从解决方案中看到的下一步是连接检查器的视图插座。我不完全确定我应该把它连接到什么地方。我发现的解决方案是将它连接到视图图标,但我再次看到的只是文件所有者,第一响应者和vc对象。它连接到没有一个

以下是我在app delegate中的内容

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

 Home *homePage = [[Home alloc] initWithNibName:@"HomeIpad" bundle:nil]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:homePage];
[self.window addSubview:navController.view];
[self.window makeKeyAndVisible];
return YES;
}

3 个答案:

答案 0 :(得分:2)

我建议你使用Xcode的File-> New-> New File-> Cocoa Touch-> UIViewController子类 - >创建Nib,用XIB作为用户界面(做两次,一次用针对iPad进行了检查)。我发现这是创建和连接XIB最可靠的方法。

即使您想为同一个控制器使用两个XIB,也可以使用任何临时名称(比如tempvc)创建第二个VC子类。现在,将tempvc.xib重命名为HomeIpad.xib。右键单击HomeIpad.xib并选择Open As->源代码。在源代码中,搜索tempvc并将其替换为所有实例的控制器名称。一切都应该是好的。

答案 1 :(得分:1)

问题是对于文件的所有者,我没有将类设置为Home

答案 2 :(得分:0)

您不需要拖动视图控制器。只需拖动UIView,然后将File的所有者View连接到此UIView。