UITableView didSelectRowAtIndexPath, значение отличается от того, что отображается в строках раздела! - PullRequest
1 голос
/ 09 мая 2011
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

Directory *aDirectory = [appDelegate.directories objectAtIndex:indexPath.row];
    _XMLDetailsView.aDirectory = aDirectory;

if (indexPath.section == 0) // First section
{
    _XMLDetailsView.aDirectory = aDirectory;
}
else if(indexPath.section == 1) // Second Section
{
    Directory *aDirectory = [appDelegate.directories objectAtIndex:indexPath.row +[listOfItems count]];
    _XMLDetailsView.aDirectory = aDirectory;

}
else if(indexPath.section == 2) // Third Section
{
    Directory *aDirectory = [appDelegate.directories objectAtIndex:indexPath.row +[listOfItems count] +3];
    _XMLDetailsView.aDirectory = aDirectory;

}
else if(indexPath.section == 3) // Fourth Section
{
    Directory *aDirectory = [appDelegate.directories objectAtIndex:indexPath.row +[listOfItems count] +9];
    _XMLDetailsView.aDirectory = aDirectory;

}

}

это правильный способ выбрать определенную строку значения из определенного раздела?потому что, когда я сделал didSelectRowAtIndexpath, например, для раздела "C", предполагается отображать значение, которое начинается с array (4).но вместо этого в разделе "C" он снова отображает значение из массива (0).Я так долго застрял на этом, кто-нибудь с любым предложением или помощью?

Ответы [ 2 ]

0 голосов
/ 09 мая 2011
else if(indexPath.section == 2) // Third Section
{

    if(indexPath.row >4)
    {
        Directory *aDirectory = [appDelegate.directories objectAtIndex:indexPath.row +[listOfItems count] +3];
       _XMLDetailsView.aDirectory = aDirectory;
    }
}

Попробуй, думаю, это тебе поможет.

0 голосов
/ 09 мая 2011
Directory *aDirectory = [appDelegate.directories objectAtIndex:indexPath.row];

оператор в начале метода выбирает каталог, используя indexPath.row, который не будет из правильного раздела.Попробуйте indexPath.section для этого.

 Directory *aDirectory = [appDelegate.directories objectAtIndex:indexPath.section];
...