我正在開發一款較舊的Mac。我無法訪問運行Xcode 3.1的較新Mac,但我想確保我的源代碼可以在其上運行。到目前爲止,這很容易,我所要做的就是忽略名稱旁邊的「已棄用」的任何內容,但是從NIB到XIB的變化讓我感到沮喪。我讀過的東西似乎意味着XIB在Release版本中被編譯到NIB中,但也許它們不在Debug版本中編譯。[NSBundle loadNibNamed:owner:]如何在Xcode 3.1中工作?
這會在Xcode 3.1中做什麼?
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[NSApplication sharedApplication];
[NSBundle loadNibNamed:@"MainMenu" owner: NSApp];
[[NSApp mainMenu] removeItem: [[NSApp mainMenu]itemWithTitle: @"File"]];
[pool release];
[NSApp run];
return NSApplicationMain(argc, (const char **) argv);
}
調試失敗,因爲MainMenu.nib不存在?或者,每次應用程序編譯時,XIB都變成了NIB,期間,我不必擔心這些?
它在任何其他開發環境中的工作方式都是一樣的。這是一種可可方法,而不是Xcode IDE的功能。可可最終是操作系統的一部分,所以,你問的是什麼版本的操作系統? – 2010-11-19 05:47:23