2011-09-12 126 views
0

我有一个buttonlabel的观点。现在,当我点击该按钮时,我将被带到另一个页面(视图),其中显示一个Tableview,其中填充了一些值。iPhone Tableview - 初学者

我已成功编码了buttonlabel视图,并且还填充了tableview的部分内容。

现在我需要做的是,当我点击一个项目或行,在tableview,该值应在上页所示(包含一个buttonlabel)。我应该怎么做?任何想法?

注:我不能提供任何代码,因为我为我的Linux机器上:(

+0

您可以使用一个委托协议这一点。如果您需要,我可以向您展示一个例子。 – TommyG

+0

是的,这将是伟大的 – Illep

+0

你刚刚从恩德得到它......应该这样做。 – TommyG

回答

1

也许最好的解决办法是编码的协议。

myProtocol.h

@protocol myProtocol 

-(void) didSelectItem: (id) yourItem; 

@end 

然后,在的viewController的接口文件,其中包含您的tableView:

@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您的代理人:

In .h:

@interface OtherViewController : UIViewController <myProtocol> { 


... 

} 

在.M:

-(void) didSelectItem: (id) yourItem 
{ 
    //do something with your item, set the label and everything... 

} 

在你的代码的某些部分,你将不得不设置委托

希望这有助于

+0

SO是'yourItem'包含我从'TableView'中选择的项目? – Illep

+0

是的,我想你有你的tableview项目在一个数组中。您只需从数组中获取所选项并将其传递给委托。如果你必须发送多个对象,最好的结构就是NSMutableDictionary。一个NSMutableDictionary数组是一个灵活且易于使用的tableviews解决方案 – ender

0

如果你只是想回到以前的观点,如果你已经使用UINavigationController推你的表视图控制器那么就应该有一个后退按钮让你回来,如果你需要对特定细胞的攻反应,覆盖tableView:didSelectRowAtIndexPath:方法。

+0

这不是他所要求的... – TommyG

+0

我需要获取单元格的值,我单击并在前一视图中显示“标签”(具有“按钮”和“标签”的视图) – Illep