我有一个关于在视图之间共享数据的问题,希望它不是太基础。我在 appDelegate 中有一个 NSMutableArray ,其中包含(Object1,Object2,Object3)。创建新对象(并将其添加到数组中)时,我需要在下一个视图上访问该对象。以前我只是将对象传递到下一个视图,但这变得混乱并且似乎是错误的。
所以现在我将所有对象都放在一个地方,但是如何在下一个视图中访问该对象(刚刚创建的),因为我不知道它被添加到哪个索引中?每次创建对象时是否需要检查数组的计数,然后从中确定数组索引并将该索引值传递到下一个视图?或者有没有办法通过某种唯一的名称从 NSMutable 数组中检索对象?
另一种解决方案是迭代所有对象,直到找到我想要的对象,但我想知道执行此操作的正确方法是什么。感谢您的时间。
编辑:感谢您的回复,我会澄清我想要做什么。我有一个 NavigationController,您进入的每个视图都需要访问该对象。你可以把它当作一本书来思考。您在第一个视图中选择了想要阅读的书籍,之后的每个视图都是您选择的书籍中的一页。 App Delegate 中是所有书籍的数组。您会通过每个“页面”查看这本书吗?
请记住,这是一个粗略的示例,因为当您选择这本书时,您已经知道它所在的索引。假设您创建一本书,那么您还不知道它在数组中的位置。
如果您可以为每个对象创建一个有意义的唯一名称,只需使用NSMutableDictionary
并让控制器通过指定密钥来获取数据。就像这样:
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSString *obj = [appDelegate.dict objectForKey:@"unique-name-here"];
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)