我是新來的iOS平臺。我不清楚界面構建器的用途。它看起來像我可以完全避免使用它,只是寫在目標c中的所有代碼。我對嗎? IB能做什麼,但obj-c不能?iPhone SDK開發obj-C與界面生成器
這讓我想起了Visual Basic 6
我是新來的iOS平臺。我不清楚界面構建器的用途。它看起來像我可以完全避免使用它,只是寫在目標c中的所有代碼。我對嗎? IB能做什麼,但obj-c不能?iPhone SDK開發obj-C與界面生成器
這讓我想起了Visual Basic 6
您可以絕對編寫所有的代碼而沒有使用Interface Builder。但是,如果你學會使用它,IB可以讓你的生活變得更容易。
可避免使用它,以同樣的方式,你能避免使用陣列和剛剛創建噸命名爲thing1
,thing2
,thing3
等變量,也能避免使用功能通過複製和粘貼內聯的內容。換句話說:你不必使用它,但你通常會想要。
Interface Builder與Visual Basic不同,因爲它實際上是真正有用的工具,真正的大公司工作的程序員實際上是在構建他們的應用程序。
代碼可移植性如何?如果我想與同事分享某些內容,該怎麼辦?我不能只給他發送xib文件嗎?我可以,如果我在ObjC中編寫所有內容 – Amy 2010-06-11 22:13:18
xib文件是平面文件,並且可以進行版本控制。沒有理由不能共享xib文件。 – 2010-06-11 23:05:05
沒有。界面生成器的存在使您的生活更輕鬆,但您不必使用它。
專業應用程序開發人員使用它嗎? – Amy 2010-06-11 22:14:17
是的,如果沒有別的出發點。 – 2010-06-11 22:27:20
您還可以避免時完全寫在ARM彙編一切......
的InterfaceBuilder是有點像編譯器。這是你使用的工具,[希望]讓你的生活更輕鬆。它不生成代碼,它會生成一個描述特定接口文件的二進制歸檔文件。雖然您可以手動完成您可以在Interface Builder中執行的所有代碼,但這會浪費時間。
IB是絕對使用的專業人士。例如,所有Apple的應用程序都是用IB構建的。
至於與同事共享文件,這應該通過像Subversion,Perforce或Git這樣的修訂控制系統完成。雖然你可以通過電子郵件發送你的項目 - 包括xib文件 - 這是容易出錯的。最好使用源代碼管理工具來處理共享和更改跟蹤。
您可以在界面構建器中執行任何操作,您可以在代碼中同樣做得很好。如果你喜歡拖拉線條並構建諸如legos之類的程序,那麼界面構建器非常棒。如果你更喜歡文字,那就用代碼來做。
當我編寫代碼時,我傾向於打開一個終端。例如,我使用命令行subverison,即使它被構建到xcode中。我不會說一種方式或另一種更好,這只是你如何工作以及如何思考的問題。我幾乎從不使用界面構建器,但這是個人選擇。
您只能在代碼中執行一些操作,但這些操作相當少見,可以輕鬆與界面構建器配合使用。
接口構建器中還有一些更好的東西。它很少出現在我的面前,但任何時候,如果您有相當於一個帶有幾個不同控件的html表單,我認爲界面構建器是更好的選擇。我的程序中有很多表格,網頁和文本視圖,但填寫的表單不多。
您是否覺得Interface Builder是一個代碼生成器?
IB本身不生成代碼。它生成的NIB文件基本上是序列化的對象,在加載時解壓縮並實例化。
事實上,IB可以很容易地定位您的用戶界面,然後對其進行預先設置,而不必在沒有工作應用程序的情況下將全部內容全部寫出來,從而使其成爲必不可少的工具。
真正的問題通常是何時使用NIB文件以及何時以編程方式生成視圖。我最近看到的建議建議使用IB創建的NIB文件,只要視圖具有子視圖。
絕對是真的,一個nib文件沒有爲你做任何事,你不可能在代碼中完成!事實上,在特定情況下,在代碼中決定使用nib文件和創建這些實例可能是一個艱難的決定。儘管如此,至少有時候,一個nib文件可以更方便。
將Interface Builder視爲創建實例的另一種方式。一個nib文件包含(在你的想象中)類名(如UIWindow,UIView,UIButton等)以及如何實例化這些類並配置實例的說明(例如,使這個UIButton成爲Round Rect,標題爲「Tap Me !「)。
在某些時候,如果筆尖爲加載,則所有這些實例都實際創建。
因此,一個nib文件是一種很好的方式來配置一堆實例,圖形化(尤其有用,顯然,當它們是UIView子類時),並通過加載nib將它們一舉實現。如果你有一個大的對象圖 - 一個充滿按鈕,字段和東西的UIView - 在nib文件中進行設計和配置,使你的代碼更簡單,更易於維護。
此外,您可以反覆加載相同的筆尖來獲取新的實例。這就是爲什麼例如在筆尖設計一個UITableViewCell是一個很好的方法。
我試了一下IB。但嘗試一下後,我放棄了。如果您想要製作更多的自定義用戶界面,或者不要通過拖動控件拖動您的想法中斷,最好選擇objective-c代碼作爲第一個選項。順便說一句,用objective-c編寫UI並不像android那麼容易,因爲沒有佈局這樣的東西。
您是否找到了可接受的答案?請將其標記爲已接受。 – JoePasq 2010-07-06 18:26:35