删除UIViewController中显示单元格细节的按钮
问题描述:
我有一个iPhone应用程序,它具有包含单元格的桌面视图,当触摸时显示该对象的细节。我想添加一个删除按钮到详细视图的底部。当用户按下它时,应该删除单元表示的对象,应用程序应该返回到TableView。删除UIViewController中显示单元格细节的按钮
就最佳实践而言,哪种方法是实现这一目标的理想方法?
答
有多种方法,可以在其中信号删除。其中之一是代表。您可以定义委托像这样,
@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];
}
你在哪里存储TableView和detailview使用的数据?通常只需删除该数据或将其标记为已删除,然后关闭该视图,返回到您的tableview。 – SMSidat 2011-06-12 23:45:06
听起来不错。但是我该如何生成按钮呢?以编程方式或通过Interface Builder?代码片段会很酷:) – 2011-06-12 23:49:16
我认为没有什么可以认真对待这个,如果你在支持你的tableview之后成功删除了特定的细节,你只需使用 - (void)viewWillAppear:(BOOL)animated { \t [super viewWillAppear:animated]; \t [self.tableView reloadData]; } – sandy 2011-06-13 05:49:03