Master/Detail - 如果对象被删除或没有对象留在 Master 中,则清除详细信息 (iOS)

Master/Detail - clear detail if object deleted or no objects left in Master (iOS)

在我的 iPad 应用程序(或横向 iPhone 6 Plus)中,我使用 master/detail UISplitViewController。当用户从 Master 中删除当前选中的项目或删除 Master 中的所有项目时,先前选择的项目的详细信息仍保留在 Detail 视图中。

如果他们删除当前选定的项目或数据源中的最后一个项目(这可能不是必需的),我需要做什么来确保详细信息视图被清除回其空的默认状态?

有没有办法通过UITableView/DataSource魔法自动发生这种情况?

(Swift 可以的话,但是 Objective-C 也可以。)

在主视图中存储项目 属性。

var currentPresentingItem : <yourItemClass>?

currentPresentingItem 只有在显示详细视图时才不是 nil。因此,在正常 iphone 中,当 currentPresentingItem 不是 nil

时,人们将永远没有机会删除 masterView 中的项目
func segueToDefaultDetailViewIfPresentingItemDeleted(deletingItem : <yourItemClass>){
     if currentPresentingItem == deletingItem{
          // segue to your default detail view, 
          // this will never happen in normal iphone
     }
}