2010-03-18 57 views
6

是否有任何理由不是不使用界面生成器編寫iphone應用程序?iPhone應用程序無需使用界面生成器

(或者換句話說,它是確定寫應用,而無需建造者?)

+0

我希望有人在iPhone技術講座中提出過這個問題,我會節省大量的時間與IB –

回答

4

我沒寫過一個使用界面生成器(文件的.xib)的iPhone應用程序,但是這只是個人喜好:我像應用程序是100%的代碼。

原因是,如果您以後需要更改某些內容,我不喜歡需要設計時工具的應用程序。它創造了一種依賴性,這在今天或下個月可能不是問題,但它可能在3年後成爲問題。

所以,答案是:是的,沒有使用Interface Builder編寫iPhone應用程序就可以。

+1

,所以如何避免不在代碼中創建更加神祕的依賴關係? –

1

當然,在沒有IB的情況下編寫應用程序絕對沒問題。它需要更多的設置(我相信你需要對Info.plist文件進行一些修改),但這當然是可能的,而且人們總是這樣做。個人而言,我更喜歡使用Interface Builder來完成大多數任務,但通常只是爲了獲得基本佈局(所以我不必處理計算矩陣等)。我希望在代碼中進一步定製。

0

如果需要,您可以手動編輯.XIB文件。畢竟,它們是XML。無法幫助他們中的至少一個參與項目。或者,您可以從代碼創建所有控件。據我所知,後者只需要更少的打字。

然後,有一些應用程序的XIB文件是沒用的。我正在談論遊戲,其中藝術/設計考慮因素擊敗了原生小部件的便利性。

所以是的,在設計級別(沒有原生的小部件)和實現級別(是原生小部件,但沒有IB)都沒問題。

+0

是你*可以*,但.xib文件是一種無證的格式。他們是XML,所以他們在版本控制系統上表現出色。 –

+0

真的無證嗎?傻我。無論如何,在代碼中創建小部件是非常多的選擇。 –

+0

「無法幫助他們至少在項目中有一個人」 - 實際上,您可以從您的應用程序中完全刪除xib文件,這並不難。請查看http://vimeo.com/3363949 – Yetanotherjosh

9

就我個人而言,我的應用程序中沒有使用NIB,但這更像是我開始做開發的問題。從第一個測試版SDK發佈時開始,我從Mac開發(幾乎每天都使用Interface Builder)轉到iPhone。最初,沒有Interface Builder,即使它發生了,你也無法用它做很多事情,所以我從來沒有花時間在iPhone上真正瞭解它。這更像是我做我熟悉的事情。

Jeff LaMarche在他的文章「Don't Fear the Interface Builder」中爲您提供了令人信服的論點,您可以隨時使用Interface Builder,我鼓勵新開發人員在下降到編程用戶界面生成之前學會使用它。它爲使用標準元素的接口節省了大量的時間。

有人認爲使用純編程接口會帶來性能上的好處,但馬特加拉格爾ran a series of benchmarks發現這種加速通常只有5-10%的數量級。如果你真的想在你的應用程序的啓動時間內完成最後一步,你可以用Adrian Kosmaczewski的nib2objc來獲得最好的結果,它可以從你的NIB文件生成Objective-C。

但是,有很多次需要以編程方式操作接口,例如自定義視圖和動畫。此代碼可以與Interface Builder並行存在,不會有太多混淆。再說一次,在這一點上更重要的是個人喜好,但我的建議是使用Interface Builder,因爲它可以節省您的時間。

相關問題