我的UITableView中有一个代表用户消息的单元格列表。
当我点击单元格时,我需要转到消息的详细页面。
如何将消息ID链接到单元格,以便将其传递给详细信息页面?
答案 0 :(得分:1)
单击或点击表格视图单元格时,表格查看单元格委托方法
调用didSelectRowAtIndexPath
方法。之后,您可以将消息ID传递给detailPage。
我有数组。在数组中我有很多Id。
我举个例子
ViewControlller.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>
@property (strong, nonatomic) NSMutableArray *arrSampData;
@property (strong, nonatomic) IBOutlet UITableView *tblVwSample;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController (){
}
@end
@implementation ViewController
@synthesize arrSampData;
@synthesize tblVwSample;
- (void)viewDidLoad {
[super viewDidLoad];
arrSampData = [[NSMutableArray alloc]initWithObjects:@"55260",@"55261",@"55262",@"55263",@"55264",nil];
}
//UITableView Data Source methods
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [arrSampData count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellid=@"cell";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellid];
if (cell==nil) {
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellid];
}
cell.textLabel.text=arrSampData[indexPath.row];
return cell;
}
//UITableView Delegate methods
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *strID =[arrSampData objectAtIndex:indexPath.row];
.......//Pass this id to your required view controller
}
@end
答案 1 :(得分:0)
您可以使用cell.tag存储ID
答案 2 :(得分:0)
有几种方法可以解决您的问题。其中一个是使用模型进行tableview管理和自定义单元格,然后使用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
另一个是使用细胞标签。您可以将详细消息分配给单元格标记,然后在
中显示- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
再次方法。
或者您可以使用其他视图控制器来显示详细信息。为此,您应该执行segue并在视图控制器之间传递数据。