0

我有一个由 plist 填充的 tableview,当单击一个单元格时,detailViewController 中的一个 textview 会填充一个来自 plist 中关联值的字符串。

所有这一切都完美无缺,但是现在我想在其中添加上一个和下一个按钮detailViewController,它将遍历 tableview。

这是我prepareForSegueTableViewController

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{

    if ([segue.identifier isEqualToString:@"promisePush"])
    {
        NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
        NSInteger section = [indexPath section];
        NSString *key = [uniqueArray objectAtIndex:section];

        NSArray *nameSection = [sections objectForKey:key];
        NSDictionary *dictionary = [nameSection objectAtIndex:indexPath.row];

        DetailViewController *dvController = [segue destinationViewController];

        //dvController.array = titles;

        dvController.selectedRow = indexPath.row;
        dvController.titleCat = [dictionary valueForKey:@"Title"];
        dvController.kjvText = [dictionary valueForKey:@"kjvText"];
        dvController.nkjvText = [dictionary valueForKey:@"nkjvText"];
        dvController.nivText = [dictionary valueForKey:@"nivText"];
        dvController.verse = [dictionary valueForKey:@"verse"];

        UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Promises" style:UIBarButtonItemStyleBordered target:nil action:nil];

       self.navigationItem.backBarButtonItem = backButton;
    }
}

现在 kjvText 被传递给 detailViewController 中名为 txtdText 的 textView

[txtdText setText:nkjvText];

我能够通过 indexPath.row 传递给 detailViewController

dvController.selectedRow = indexPath.row;

并且可以通过将 int 迭代到下一个数字

- (IBAction)nextPromise:(UIButton *)sender {
    selectedRow = selectedRow + 1;
}

但我不知道如何将该数字传达给 tableView 中的下一个 indexPath.row,它将更新 detailViewController 中的 textView。

我有一种感觉,我需要将 TableViewController 设置为我的 DetailViewController 的委托,但我不确定那会是什么样子。任何方向都非常感谢!

4

1 回答 1

0

如果我理解正确,您不能简单地在您的 UITableView 上调用以下方法吗?

[UITableView selectRowAtIndexPath:animated:scrollPosition:]

这会选择接收器中由索引路径标识的行,可选择将行滚动到接收器中的某个位置。请参阅 UITableView 上的文档。

于 2012-10-31T15:11:49.083 回答