我最近开始学习Objective-C,遇到了一个小问题。我试图使用没有笔尖的自定义视图控制器,因此视图是在代码中创建的。视图控制器本身是在AppDelegate中创建的。在没有笔尖的情况下创建自定义NSViewController
当我运行该程序时,它首先显示一个默认的空窗口。关闭此窗口后,会弹出另一个窗口,其中包含视图。我显然不希望第一个窗口出现,但我不知道是什么原因造成的。我能找到的关于这个主题的唯一信息是针对iOS开发的,这不完全相同。
我也得到这个消息,而我真的不知道这意味着什么:无法连接动作orderFrontStandardAboutPanel:目标类MainViewController的
的AppDelegate:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
mainViewController = [[MainViewController alloc] initWithFrame:_window.frame];
_window.contentView = mainViewController.view;
}
MainViewController:
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithNibName:nil bundle:nil];
if (self)
{
[self setView:[[MainView alloc] initWithFrame:frame]];
[self loadView];
}
return self;
}
我想你是调用loadview 2次。 2.显式加载视图。 -loadView的目的是,加载视图。当您访问视图控制器的视图属性并且该属性的值为零时调用它。在这种情况下,你在初始化器中访问自我SetView,所以这就是-loadView被调用的时候。你再次调用loadView。这可能是您第一次看到空的原因之一,或者iOS正在加载您的应用程序时显示加载图像。 – Srivathsa
这就是它造成的,谢谢! – user2616316
好了,它解决了你的问题..然后,你可以upvote我的评论。 – Srivathsa