0

我正在解析 XML 并从 UITablevView 中进行选择,但我有一个问题是如何更改每个选择的链接?

例如;

www.example.com/test12.php?d=0

www.example.com/test12.php?d=1&il=istanbul

www.example.com/test12.php?d=2&il=istanbul&ilce=kadikoy

如何更改 UITableView 上每个选择的 d= 和 il= 和 ilce= 值?

我已经写了这个,但不能更进一步。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = selectedCell.textLabel.text;

NSString *linkID = @"http://example/test12.php?d=@%&il=@%";

NSLog(@"%@ Selected", cellText);
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
 static NSString *CellIdentifier = @"Cell";
 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

containerObject = [objectCollection objectAtIndex:indexPath.row];

if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                  reuseIdentifier:CellIdentifier];
}

// Set up the cell...
cell.textLabel.text = containerObject.city;
return cell;
}

从现在开始感谢。

4

2 回答 2

1

基本上,您从行中获取模型并通过 stringWithFormat 插入值:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    YourModel* containerObject = [objectCollection objectAtIndex:indexPath.row];    
    NSString *linkID = [NSString stringWithFormat:@"http://example/test12.php?d=%@&il=%@", containerObject.var1, containerObject.var2]; 
}
于 2013-06-25T10:26:19.373 回答
0

我会用 3 个不同的表视图控制器和一个导航控制器来做到这一点。这样做可以使每个控制器保持简单,并允许在钻级之间制作漂亮的动画,以便用户了解发生了什么变化。

您的数据结构应该是一个数组,其中包含每个城市的字典。每个城市字典都包含一个省字典数组。每个省字典都包含一组地点。(从技术上讲,这些可能是单独的数据结构,并且每个都包含对所需数据的引用,但现在让我们保持简单)。

每个表视图控制器都应将数组作为其数据源。它还应该采用其他一些参数,这可能是到目前为止生成的链接。

城市视图控制器显示城市名称列表(如您当前所拥有的那样)。选择一排时,它将获得适合城市的适当词典,获取一系列省,创建一个省视图控制器并将其传递给各省列表。它还将城市组件添加到链接并将其传递给省视图控制器。

When a province is selected, the same process as above is followed.

选择地点后,可以添加最终的链接组件,链接现在已完成并可以使用。

于 2013-06-25T10:20:08.907 回答