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

时间:2015-08-19 03:15:54

标签: ios swift uitableview datasource uisplitviewcontroller

在我的iPad应用程序(或横向的iPhone 6 Plus)中,我使用的是主/细节UISplitViewController。当用户从主服务器中删除当前选定的项目或从主服务器中删除所有项目时,先前选择的项目的详细信息将保留在详细信息视图中。

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

有没有办法通过UITableView / DataSource魔术自动发生?

(如果可能,请转到Swift,但Objective-C也可以。)

1 个答案:

答案 0 :(得分:2)

在主视图中存储Item属性。

var currentPresentingItem : <yourItemClass>?

currentPresentingItem仅在详细视图显示时才为零。所以,在普通的iphone中,当currentPresentingItem不是零时,人们永远不会有机会删除masterView中的项目

func segueToDefaultDetailViewIfPresentingItemDeleted(deletingItem : <yourItemClass>){
     if currentPresentingItem == deletingItem{
          // segue to your default detail view, 
          // this will never happen in normal iphone
     }
}