如何在TableView中获取单个单元格的ID

时间:2014-03-18 01:47:25

标签: ios objective-c web-services uitableview

在我的应用程序中,我正在使用Web服务来填充我的工作表视图。当他们点击一个作业时,该应用程序将用户带到DetailsViewController,显示作业详细信息。到目前为止,我正在通过执行以下操作来硬编码作业ID以获取作业详细信息:

- (void)viewDidLoad
{
[super viewDidLoad];



NSURL *url = [NSURL URLWithString:properUrlString];

NSData *data = [NSData dataWithContentsOfURL:url];

NSError *error;

NSMutableArray *jobsCallArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSString *currentId = @"usajobs:364160700";
for (NSDictionary *theJob in jobsCallArray)
{

  if([currentId isEqualToString:theJob[@"id"]])
  {
      jobTitle.text = theJob[@"position_title"];
      companyName.text = theJob[@"organization_name"];
      minimum.text = theJob[@"minimum"];
      maximum.text = theJob[@"maximum"];
  }



}


// Do any additional setup after loading the view.
}

现在我希望“currentID”等于每个单元格的ID。我该怎么做?...

感谢所有帮助,

提前致谢。

1 个答案:

答案 0 :(得分:0)

我不确定我是否关注你,但这是我对你的问题的理解 How can I find back the currentID for the cell the User have selected ?

UITableView有两种重要的方法 一个在UITableViewDataSource中 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
另一个在UITableViewDelegate中 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

您可能正在保留一个允许您在-tableView中填充TableViewCell的作业数组:cellForRowAtIndexPath:使用indexPath在数组中查找正确的索引。
在-tableViewDidSelectRowAtIndexPath中执行相同的逻辑以获取所选作业。


您可以使用此方法询问所选单元格的表格视图:
- (NSIndexPath *)indexPathForSelectedRow