iphone - 如何复制不同选项卡中的数组对象

标签 iphone objective-c ios iphone-sdk-3.0

我在 FirstviewController 中有 NSMutable 数组。我想将该数组的对象复制到 SecondViewController 中的另一个 NSMUtable 数组。 但是 FirstViewController 和 SecondViewController 在不同的标签中(我应用的 rootController 是一个 tabBarController )

注意:我知道它适用于 [self.navigationController pushViewController:firstViewController animated:YES]; 但是,当 viewController 像我的情况一样位于不同的选项卡中时,我该怎么做。

请帮帮我。提前致谢。

最佳答案

有几种方法可以实现这种模式:

  1. 代表团。在这里,您可以通过向一个 View Controller 传递一个指针来让另一个 View Controller 知道它。所以你首先在某个地方创建 Controller 1,然后在创建 Controller 1之后,你告诉 Controller 2关于 Controller 1的信息,以便 Controller 2可以访问 Controller 1的公共(public)实例变量
  2. 通知。您可以通过通知系统发送您要注册收听的对象。在这里, Controller 2 会监听 Controller 1 在您需要时发送的特定通知。
  3. 全局变量。这是您存储数组对象的地方,不是在每个 View Controller 中,而是在一个全局位置,所有人都可以访问,例如 App Delegate 或 Root View Controller 。

还有更多设计模式,但这些是此类设置的最佳选择。有关这些的更多信息,请查看 Cocoa Fundamentals Guide苹果提供

关于iphone - 如何复制不同选项卡中的数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215450/

相关文章:

iphone - 使用 Alpha 设置为 subview 添加背景色

iphone - iOS4中文本的阴影效果

iphone - 在越狱的 iOS 8.4 设备上启用 Xcode 调试

iphone - 在模拟器中关闭 iPhone

c++ - Objective-C 与 C++ 成员初始化

ios - RestKit 0.20.1 将本地 JSON 映射到 Core Data 崩溃

ios - XCTWaiter.wait() 超时有时似乎需要更长的时间

ios - SpriteKit animateWithTextures 不适用于纹理图集

iphone - iPhone Simulator不再以4英寸分辨率运行应用程序

ios - 如何在 iOS App Bundle 中创建非本地化资源