gpt4 book ai didi

ios - Objective-C prepareForSegue 问题

转载 作者:行者123 更新时间:2023-11-29 02:01:27 25 4
gpt4 key购买 nike

我将 prepareForSegue 与我的 UISplitViewController 一起使用,并且我有一个 NSMutableDictionary 用部分填充 UITableView。我想要做的是将所选部分中的所选值的值传递到我的 detailViewController 中的方法,这是我到目前为止得到的:

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

if ([[segue identifier] isEqualToString:@"showDetail"]) {

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSString *strPOIndex = [self.tableData[indexPath.row] valueForKey:@"Vendor"];



LHContactsDetail *controller = (LHContactsDetail *)[[segue destinationViewController] topViewController];

[controller setDetailItem:strPOIndex];
controller.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
controller.navigationItem.leftItemsSupplementBackButton = YES;
}

}

但问题是,它返回第一部分的编号项目。例如,如果我点击第 2 节第 1 项,它会返回第 1 节第 1 项,如果我单击第 3 节第 2 项,它会返回第 1 节第 2 项。我希望这是有道理的。这就是我填充 tableview 的方式:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];

NSString *sectionTitle = [contactSectionTitles objectAtIndex:indexPath.section];
NSArray *sectionContacts = [contactDirectoryFinal objectForKey:sectionTitle];
NSString *contacts = [[sectionContacts objectAtIndex:indexPath.row] valueForKey:@"Vendor_Name"];

cell.textLabel.text = contacts;

return cell;

}

如何获取正确的值以发送到我的 detailController 方法?

最佳答案

我想知道为什么你的数据源在 cellforrow 和准备 segue 中不同。如果您以与节和行相同的方式进行管理。您需要首先通过 indexpath.section 从数据源获取数据,然后 indexpath.row 在 prepareforsegue 方法中更改它。

关于ios - Objective-C prepareForSegue 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com