在使用django大約兩年後,我開始嘗試iPhone開發。由於我已經完成了教程和閱讀文檔,因此在iPhone開發中使用的各種庫引起的不便之處在於爲數據模型創建用戶輸入表單時所需的重複次數。在Objective-C中生成模型(a la django模型框架)
我知道有兩種常規的方法對用戶輸入表單的創建:
創建對模型類與屬性對應的基團在界面生成器UITextFields,並將它們連接起來,相應IBOutlets上的自定義表格控制器。
在具有自定義表單視圖控制器類的表中使用UITextFields以編程方式創建窗體視圖。該類保存與數組中模型屬性相對應的名稱列表,然後迭代該數組以爲每個表格單元格創建UITextFields。使用特殊的外殼,以確定哪個模型屬性上迭代,並利用這些信息來創建表格單元格對應的UILabels和UITextFields。*
兩中,只有第一個似乎是迭代開發的第二個實際是痛苦的詳細和非常困難(對我來說)閱讀。藉助Objective-C的內省功能,似乎可以編寫接受模型類作爲參數的代碼,並在運行時從該信息生成表單控制器(甚至可能是表單視圖)。
所以我有三個問題:
是否有常規替代方法來創建表單視圖和控制器比這兩個我上面列出的其他車型?我不喜歡我在那裏列出的任何一種方法。
是否可以在Objective-C中自動生成表單控制器/視圖,或者我只是在咆哮錯誤的樹?
這樣的自動生成已經嘗試或完成了嗎? (有點谷歌搜索卻一無所獲)
*我給這家主要參考來自實例#6在第9章:導航控制器和Apress出版的表格視圖‘Beginning iPhone 3 Development’
我描述了兩種創建數據輸入表單的方法,以便進入模型。我不確定你寫在這裏的內容與我在#1中描述的有什麼不同。 – Prairiedogg 2009-07-04 16:31:52
「將一個模型類的屬性重新聲明爲一組UIView子類」聽起來好像將UIView子類放入模型中一樣,這是執行此操作的錯誤方法。我認爲你的問題不夠清楚,無法得到你想要的答案。 – 2009-07-05 03:33:15
謝謝湯姆,我已經編輯了我的問題一點,你說的正確,它原來不夠清楚。 – Prairiedogg 2009-07-06 15:27:06