2013-07-05 16 views
1

我是iOS新手,想要了解有關MVC的最佳方式。使用MVC的iOS多視圖註冊頁面

我的註冊表格有15場(是的,我必須有所有這些領域!),我決定把它劃分成各5場3個邏輯屏幕。將有1個用戶模型。在第三個和最後一個屏幕中,我將更新數據庫。我的問題如下:

  1. 我應該爲每個視圖創建一個獨立的視圖控制器?所有3個視圖將分享相同的模型。我的想法告訴我,應該有1個控制器用於1個型號,但是我不太確定如何最好地爲iOS設計。

  2. 如果我創建1控制器和多個視圖,那麼會不會有打的「返回」按鈕,什麼問題?控制器將如何知道要顯示哪個視圖。

  3. 或者我應該有1個視圖,並用1個控制多個子看法?

上面的查詢可能聽起來矛盾,因爲我很困惑。

如果有一個示例應用程序,顯示的最佳做法類似上面的情況,然後請我提供的鏈接是。

在此先感謝。

+0

確保在實現窗體時使用UITableView。你的三種方法都可以在上面工作,但一定要使用UITableView和UITextField,它會簡化你想要做的事情。 – ApolloSoftware

+0

如果它是相同的模型,我會保留它與一個VC,並動態創建您的意見,並在運行時將它們添加爲子視圖。 – ApolloSoftware

+0

@AmitApollo - 如果我保留一個視圖控制器並擁有動態子視圖,那麼獲取後退按鈕的最佳方式是什麼?只需將子視圖放在UINavigationController中就可以了? – prabal

回答

0

你可以有1個模型來存儲字段。然後,您可以爲每個視圖設置3個控制器(因爲您可能需要根據字段進行驗證),這將依次將字段填充到模型中。

將所有內容放在UINavigationController中將讓您有後退按鈕。

0

我將有一個UIViewController類,但使用3個它有3個不同的意見,每一步的實例。

當用戶完成在一個控制器進入他們的信息,創建新的控制器和沿模型將它傳遞。新的控制器應該能夠找出它所處的步驟並顯示適當的視圖。

0

我將具有一個UIViewController類具有三個視圖,但是一旦用戶進入用於第一視圖中的信息,將顯示第二圖。如果第一個視圖中的信息錯誤,則它保持在第一個視圖中。