我的视图中包含button
和label
。现在,当我点击该按钮时,我将转到另一个页面(视图),该页面显示Tableview
,其中填充了一些值。
我已成功编码button
和label
视图,以及tableview
的填充部分。
现在我需要做的是,当我点击tableview
中的某个项目或行时,该值应显示在上一页(包含button
和{ {1}})。我该怎么做?有什么想法吗?
注意:我无法提供任何代码,因为我在我的Linux机器上:(
答案 0 :(得分:1)
也许最好的解决方案是编写协议。
在myProtocol.h
@protocol myProtocol
-(void) didSelectItem: (id) yourItem;
@end
然后,在包含tableView的viewController的接口文件中:
@interface MyViewController : UIViewController {
id <myProtocol> selectionDelegate;
}
@property (nonatomic, assign) id <myProtocol> selectionDelegate;
在.m文件中:
@synthesize selectionDelegate;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//do something with your data and pass it to the delegate.
[self.selectionDelegate didSelectItem:myObject];
[self.navigationController popViewControllerAnimated:YES];
}
包含按钮和标签的viewController必须实现您的委托:
在.h:
@interface OtherViewController : UIViewController <myProtocol> {
...
}
在.m:
-(void) didSelectItem: (id) yourItem
{
//do something with your item, set the label and everything...
}
在代码的某些部分,您必须设置代理
希望这有帮助
答案 1 :(得分:0)
如果您只是想回到上一个视图,如果您一直使用UINavigationController
来推动您的表视图控制器,那么应该有一个后退按钮来帮助您。如果您需要对特定单元格的点击做出反应,请覆盖tableView:didSelectRowAtIndexPath:
方法。