gpt4 book ai didi

objective-c - ipad splitview 导航应用程序中 didSelectRowAtIndexPath 中的 indexPath null

转载 作者:行者123 更新时间:2023-11-28 20:46:58 24 4
gpt4 key购买 nike

我正在将一个相当简单的基于 iPhone 导航的应用程序移植到 Split View iPad 应用程序。
我在主视图上有两个嵌套的导航级别。用户从第一个表中选择一个值并加载第二个表。在第二个表上选择一个值会加载详细信息 View 的详细信息项。或者它应该。我的第二个 Controller 上的 didSelectRowAtIndexPath 正在触发,但 indexPath 为空。

我非常关注 SplitView 模板。我只是通过添加第二个 TableViewController 才真正走出了人迹罕至的地方。我的 RootViewController 在 didSelectRowAtIndexPath 上加载第二个 TableViewController,那部分正在工作。在我的第二个 TableViewController.m 中,我试图为 DetailView 设置详细信息项。但正是 didSelectRowAtIndexPath 方法没有给我该行。我对此很陌生,但我觉得点击一行的方法会触发但没有该行的索引,这对我来说似乎很奇怪。

代码如下:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

TrackerSplitViewAppDelegate *appDelegate = (TrackerSplitViewAppDelegate *)[[UIApplication sharedApplication] delegate];
detailViewController.thisRequest = [appDelegate.requests objectAtIndex:indexPath.row];
NSLog(@"Request Loaded: %@", detailViewController.thisRequest.Title);
NSLog(@"Index Row: %@", indexPath.row);
[appDelegate release];

}

请求数组正在正确加载 (appDelegate.requests),但我的 objectAtIndex 失败,因为 indexPath 为空。或者至少 indexPath.row 为空。

编辑:好的,下面的评论是正确的,我没有正确使用 NSLog。 indexPath.row 很好(我认为在调试器中使用鼠标悬停时它也显示为 null,但我只是不知道如何正确使用调试器)。

由于某些原因,detailViewController 属性没有正确设置。如果我用这个代替:

//detailViewController.thisRequest = [appDelegate.requests objectAtIndex:indexPath.row];
Request *aRequest = [appDelegate.requests objectAtIndex:indexPath.row];

aRequest 对象加载得很好。所以下一个问题是为什么在我的 detailViewController 对象上设置我的属性不起作用。我仍然对事情如何在这种环境中持续存在感到很模糊。任何额外的输入都会很棒。

最佳答案

indexPath.row 的值不是字符串。您不能使用 %@ 记录它。尝试使用用于整数的 %i%li。此外,您还没有真正正确地检查要加载的请求,afaik。 title 属性是否仅在成功加载后可用?

关于objective-c - ipad splitview 导航应用程序中 didSelectRowAtIndexPath 中的 indexPath null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5156242/

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