看來人們可能會問:這是從nib
建成的視圖。確實nib
是編譯後的形式,而xib
是XML形式,我們不再使用nib
,只能使用xib
?所以現在,它只是意味着「它是從一個xib構建的」?對於iOS編程,當人們說「它是從一個筆尖構建的」,這是否意味着一個「xib」?
回答
iOS開發從未實際使用過.nib文件。它一直是.xibs。 NIB最初是NeXT Interface Builder的首字母縮寫。 iPhone開發最初使用了一種名爲Interface Builder的工具來創建用戶界面,並保存爲.xib格式。 Interface Builder最近(有點)被合併到XCode 4中,所以你可以在那裏建立你的.xib文件。
是的,.xib格式是一種人類可讀的XML格式,與版本控制系統(差異等)比使用.nibs更容易使用。
爲了傳統的目的,我想,這兩種格式的發音是相同的......「筆尖」。可能也是因爲以「x」開頭的單詞難以發音:)
不,iPhone的***總是***有nib文件。正如OP所說,筆尖被編譯(或者說是扁平化)XIB文件。 – CodaFi 2012-04-22 05:51:14
你不回答編譯器發佈的問題。你正在回答一個人發佈的問題..大概是一個開發人員。開發人員對iPhone的nib文件沒有實際可見性。它只有.xib文件,世界上有充分理由期望這是海報所問的。當有人在iOS上討論「從筆尖構建」的視圖時,它們絕對意味着它是從最初放在.xib文件中的用戶界面文檔實例化的。 – Nate 2012-04-22 06:35:23
我只是說,聲明iOS ***「從不」***具有XIB文件是絕對錯誤的。 – CodaFi 2012-04-22 06:36:30
我完全不同意@Nate的回答。 IOS實際上有總是有nib文件,它們剛被隱藏。你會發現,當編譯器將一個XIB文件變平,以便它可以被應用程序檢索到時,它實際上會將它「轉換」爲一個.nib文件!如果你不相信我,試試這個:
NSLog(@"%@", [[NSBundle mainBundle]pathForResource:@"myxib" ofType:@"xib"]);
它返回NULL,因爲它不存在!現在試試這個:
NSLog(@"%@", [[NSBundle mainBundle]pathForResource:@"myxib" ofType:@"nib"]);
很酷,是吧?
所以以扭曲的方式說,XIB確實是一個筆尖是正確的。
+1,正確答案 – tipycalFlow 2012-04-22 06:26:36
這是一個頗爲人爲的例子,它錯過了海報問題中提供的上下文。沒有人在實際的程序中使用該代碼。在罕見的情況下,你通過編程訪問nib/xibs,你更有可能通過像 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil類似的東西來遇到它們 - 它不需要完全擴展(.xib或.nib)。 – Nate 2012-04-22 06:39:17
啊對方。我正在開發一個允許編輯XIB的應用程序(這是我回答的唯一原因),所以它不像你想象的那麼難得,這本身就是遮蔽整個問題。從概念上講,它們是等同的。 – CodaFi 2012-04-22 06:41:21
- 1. 當他們說JavaScript是單線程時,這意味着什麼?
- 2. 當他們說carbyn是一個基於html5的操作系統時,他們是否意味着carbyn是一個基於javascript的操作系統?
- 3. Objective-C:如果一個對象屬於一個類,這是否意味着對象不是nil或null?
- 4. 當我們說一個ArrayList不同步時,這意味着什麼?
- 5. 兩個函數中的synchronized指令是否意味着它們都可用於一個線程?
- 6. 對於Android來說,Java是本機的,Objective-C對iOS來說是本機的,這意味着什麼?
- 7. 這兩個參數對於WScript來說意味着什麼?
- 8. 是否有一個格式說明符總是意味着字符串與_tprintf?
- 9. 這個SOAP Fault是否意味着我認爲的意思?
- 10. 如果一個應用程序給我System.ArgumentOutofRangeException,這是否意味着它是應用程序中的錯誤?
- 11. @OneToOne是否意味着唯一性?
- 12. 它仍然是一個單行標籤或是否意味着別的?
- 13. Java - LinkedList push()pop()意味着它是一個堆棧,而不是一個隊列?
- 14. 這個演員是否意味着一個破碎的多態設計?
- 15. 這是否意味着數據步驟?
- 16. 當我們說時間複雜度是O(M + N)時,這意味着什麼?
- 17. 唯一鍵意味着它們是主鍵?
- 18. 當他們說React受XSS保護時,這意味着什麼?
- 19. 當他們說'有狀態'時,這意味着什麼?
- 20. 這是&意味着什麼?
- 21. nextTick是否意味着Node.js(Event Loop)中的下一個階段?
- 22. 什麼是一個「合格」的大會意味着編譯
- 23. '!'是否意味着perl?
- 24. 對於Kotlin來說,這是一個讓人Sw 012的工具
- 25. 這兩個陳述是否意味着同樣的事情?
- 26. 當ExtJS文檔說一個功能「需要core.css」時,這意味着什麼?
- 27. 以下兩個版本是否意味着同一件事?
- 28. 構建jsoncpp(Linux) - 對我們來說只是一個凡人的指令?
- 29. 從一個筆尖到另一個
- 30. 什麼是「|」意味着在C#編程?
就我而言,它們是一回事。 – CodaFi 2012-04-22 05:41:16