gpt4 book ai didi

ios - 如何访问堆栈中的 NSDictionary 2 层?

转载 作者:行者123 更新时间:2023-11-29 04:50:04 26 4
gpt4 key购买 nike

(iOS)我有一个 UITableView 作为 Root View (屏幕 1)。当选择一个单元格时,它会推送一个新的 UIView(屏幕 2),其中包含两个按钮。当按下这些按钮之一时,就会推送一个新的 UIView(屏幕 3)。我想将一些键值对从屏幕 1 传递到屏幕 2 和屏幕 3。使用以下代码,我可以毫无问题地将值传递到屏幕 2,但屏幕 3 返回零作为值,无论哪个单元格是摘了。任何关于为什么会发生这种情况的帮助都会很棒。 (另一种方法是在屏幕 2 中使用 switch-cases 将值传递到屏幕 3)

屏幕 1:

NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
NSDictionary *sentItems = [NSDictionary dictionaryWithObjectsAndKeys:indexPath, @"indexPath", nil];
[destination setValue:sentItems forKey:@"sentItems"];

最佳答案

我认为最简单的解决方案是传递一个 sentItems 或类似的字典,其中包含在初始化第二个和第三个 View 期间可能需要的所有值。

因此,如果您需要 View 2 的值 X,Y 和 View 3 的值 A,B,CD,E,F对于备用按钮 View 3,在显示 View 2 之前传递一个定义有 X,Y,A,B,C,D,E,F 的字典,然后在显示时将适当的值传递给 View 3您在显示该 View 之前选择了其中一个按钮。

这样就完全不用再查看堆栈了。如果您的第一个 View 实际上是应用程序的 Root View ,您还可以选择在应用程序委托(delegate)类中定义此字典,以便可以通过 [[UIApplication sharedApplication] 全局访问它。 delegate] .

关于ios - 如何访问堆栈中的 NSDictionary 2 层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981111/

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