我正在開發一個iPhone應用程序,其中有一個UITableView,它正在通過URL填充XML feed。UITableView沒有正確選擇
舉例說,三個單元格被填充。
如果我點擊第一個單元格沒有任何反應,但是如果我點擊第二個或第三個單元格,它將把我帶到與第一個單元格相關的第二個屏幕,並且與其他單元格相同 - ,點擊另一個,它會將我帶到上一個選中的第二個屏幕。
我從來沒有發生過這種情況,而且相當困惑。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell"];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:@"UITableViewCell"];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
LocationsItem *atm = [[locations atms] objectAtIndex:[indexPath row]];
[[cell textLabel] setText:[atm atmName]];
float distance = [[atm atmDistance] floatValue];
NSString *distanceString = [NSString stringWithFormat:@"%0.2f miles from current location", distance];
[[cell detailTextLabel] setText:distanceString];
return cell;
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
LocationsItem *atm = [[locations atms] objectAtIndex:[indexPath row]];
ATMDetailsController *detailsController = [[ATMDetailsController alloc] init];
[detailsController setCurrentATM: atm];
[[self navigationController] pushViewController:detailsController animated:YES];
}
感謝, 尼克
任何示例代碼? – TigerCoding 2012-02-11 20:08:08
請發佈您的cellForRowAtIndexPath:代碼 – Rayfleck 2012-02-11 20:10:29
聽起來像您在'tableView:didSelectRowAtIndexPath:'中的索引是關閉的,但沒有看到一些相關的代碼,這是不可能的。 – 2012-02-11 20:11:34