2014-01-23 25 views
11

比方說,我有一個場景(推動視圖控制器與導航欄),它在表格視圖中顯示一些表格數據。 在該場景的導航欄中,我有一個+符號,它應該打開一個新場景,用戶可以在其中添加一個新項目(行到核心數據表)。 在表格視圖中,每行在每個單元格的右側都有一個箭頭,這會打開一個場景,用戶可以編輯該特定項目的詳細信息。 我應該使用push還是modeal segue作爲+? 我應該使用推式還是莫代爾式箭頭? 什麼是「最佳實踐」? 我明白push和modal segues之間的區別,但我想知道哪個更適合上述用例。使用案例推與模態賽段?

回答

13

如果你想效仿蘋果的最佳做法,我建議如下:

  1. 從「添加」功能,使用模式 SEGUE。
    例如查看聯繫人應用程序。按+顯示一個模態視圖控制器。
    什麼是邏輯?首先,模態視圖控制器通常有一個「取消」按鈕,而不是一個推動的vc上的「後退」按鈕。
    當用戶按下「返回」 - 他希望有辦法回到vc。通常「後退」將您的數據保存在iOS上(自動保存)。
    因此,通過使用模態segue,您可以強制用戶提交表單或取消。模態演示提示您真的需要填寫此屏幕。

  2. 用於編輯 - 推送。但模式也可以工作(並且可以重複使用相同的VC)。
    原因推動:

    • 你獲得VC的層次結構,不斷來回,而下鑽。
    • 回去的時候(就像其他iOS應用)
0

增加一個新的實體,以核心數據表,上輕擊+按鈕(你應該實現)自動保存(我假設它的一個導航欄上的右側欄欄按鈕項目),請使用模態輪廓。 用於添加新行的視圖必須以模態方式呈現,一旦保存完成,請關閉模式視圖並重新加載表視圖以顯示新添加的項目。

也用於顯示實體行的詳細信息,請使用push segue。當用戶選擇一個表格單元時,用戶期望推動動作,並且這是實現這一點的理想方式。

1

我希望這個快速總結能夠幫助您: 當您想要顯示摘要視圖的詳細視圖時,請使用導航控制器和Push Segues。如果「父」視圖與數據與「子」視圖無關,則使用模式。模態視圖的一個很好的例子是任何入口視圖。這個視圖並沒有任何關係,只要數據涉及到「父」視圖,輸入屏幕將只取用戶數據dat將會保存&可以走開&將控制權交給父母