删除UIViewController中显示单元格细节的按钮

问题描述:

我有一个iPhone应用程序,它具有包含单元格的桌面视图,当触摸时显示该对象的细节。我想添加一个删除按钮到详细视图的底部。当用户按下它时,应该删除单元表示的对象,应用程序应该返回到TableView。删除UIViewController中显示单元格细节的按钮

就最佳实践而言,哪种方法是实现这一目标的理想方法?

+0

你在哪里存储TableView和detailview使用的数据?通常只需删除该数据或将其标记为已删除,然后关闭该视图,返回到您的tableview。 – SMSidat 2011-06-12 23:45:06

+0

听起来不错。但是我该如何生成按钮呢?以编程方式或通过Interface Builder?代码片段会很酷:) – 2011-06-12 23:49:16

+0

我认为没有什么可以认真对待这个,如果你在支持你的tableview之后成功删除了特定的细节,你只需使用 - (void)viewWillAppear:(BOOL)animated { \t [super viewWillAppear:animated]; \t [self.tableView reloadData]; } – sandy 2011-06-13 05:49:03

有多种方法,可以在其中信号删除。其中之一是代表。您可以定义委托像这样,

@protocol DetailViewControllerDelegate 
- (void)shouldDeleteDetailObject:(id)object 
@end 

然后你的表视图控制器子类采纳的协议和实现方法一样,

- (void)shouldDeleteDetailObject:(id)object { 
    [self.objectsArray removeObject:object]; 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

然后你桑迪曾表示在viewWillAppear:消息[self.tableView reloadData];

您的按钮操作会实现,

- (IBAction)deleteObject { 
    if (self.delegate && [self.delegate respondsToSelector:@selector(shouldDeleteDetailObject:)]) { 
     [self.delegate shouldDeleteDetailObject:self.detailObject]; 
    } 
} 

和代表应该是一个assign编辑属性。

您也可以查看通知,但这是针对此情况的更好路线。

+0

@Eric Brotto对此有帮助吗?你需要进一步的帮助吗? – 2011-06-19 18:19:55

我认为没有什么认真对待这个问题,如果你成功地删除备份以前的视图(tableview中)之后的具体细节,你只需要使用这个

-(void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.tableView reloadData]; 
}