iPhone Tableview - 初学者

时间:2011-09-12 15:27:39

标签: iphone objective-c tableview

我的视图中包含buttonlabel。现在,当我点击该按钮时,我将转到另一个页面(视图),该页面显示Tableview,其中填充了一些值。

我已成功编码buttonlabel视图,以及tableview的填充部分。

现在我需要做的是,当我点击tableview中的某个项目或行时,该值应显示在上一页(包含button和{ {1}})。我该怎么做?有什么想法吗?

注意:我无法提供任何代码,因为我在我的Linux机器上:(

2 个答案:

答案 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:方法。