我最近開始學習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