我有一个简单的UITableView,可以推送到新的Viewcontroller。当按下Cell时,它应该推送到新的viewcontroller并发送已推送的行数。有没有办法获得这个?
这就是我现在所拥有的,它可以做任何事情。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
YoutubeViewController *youtubeViewController = [[YoutubeViewController alloc] initWithNibName:@"YoutubeViewController" bundle:nil];
[self.navigationController pushViewController:youtubeViewController animated:YES];
}
答案 0 :(得分:0)
检查UITableViewController委托https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html的协议。 方法您正在寻找
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
答案 1 :(得分:0)
这样做
此方法是当用户在tableview
中选择单元格时将调用的委托- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//Write code here to push your viewcontroller
YourViewController *controller=[[YourViewController alloc]initWithNibName:@"YourViewController" bundle:[NSBundle mainBundle]];
controller.selectedRowValue = indexPath.row;
[self presentViewController:controller animated:YES completion:NULL];
}
在YourViewController.h中
@interface YourViewController : UIViewController
@property int selectedRowValue;
@end
在YourViewController.m
@implementation YourViewController
@synthesize selectedRowValue;
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Selected Row %d",selectedRowValue);
}
答案 2 :(得分:0)
是的,做一件事
在YoutubeViewController
@property int selectedRowValue;
之后在YoutubeViewController.m类中对它进行syntsize
// YoutubeViewController.m
@implementation YoutubeViewController
@synthesize selectedRowValue
现在你来到ur表所在的类,并对其进行一些更改,如下所示
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
YoutubeViewController *youtubeViewController = [[YoutubeViewController alloc] initWithNibName:@"YoutubeViewController" bundle:nil];
youtubeViewController.selectedRowValue=indexPath.row;
[self.navigationController pushViewController:youtubeViewController animated:YES];
}
现在做的每一件事都是为了检查在youtube类NSLogout
中选择的索引值
//YoutubeViewController.m
- (void)viewDidLoad
{
// nslogout the value to check
NSLog(@"yours data selected from table%d",selectedRowValue);
}
现在做的每一件事。 享受编码
即使您不想要这样,您也可以创建Constructor
或将值存储到NSUserDefaults