推送到viewcontroller并解析数据

时间:2014-01-03 11:33:29

标签: objective-c

我有一个简单的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];
}

3 个答案:

答案 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