在IOS开发中的视图控制器之间共享对象状态

我的应用程序在主TabViewController上有两个选项卡。

  • 第一个标签显示了我喜欢的水果清单。
  • 第二个选项卡在您键入的同时向api发送请求,searchsearch名称的水果。

如果用户点击任何水果,我会显示一个水果细节视图,在那里可以喜欢水果(如果已经喜欢,你可以不同)。

现在,我试图达到这样的东西:

  • 用户search一个水果
  • 用户喜欢水果
  • 用户导航回到列表
  • 列表显示突出显示“喜欢”图标的水果

我怎样才能通知select行之前的列表,单元格状态的变化(这是不喜欢的,现在是喜欢的)。 我怎样才能通知其他列表(在另一个标签)相同的东西?

多谢你们

编辑

我会试着展示一个真实的样本! 当你去appstore并searchGMAIL 第一个图像,寻找一个应用程序

然后你去特色(图表,我不知道你的国家),并寻找同样的应用程序

在另一个视图控制器相同

当您在任何一个视图控制器中下载它时,同时另一个控制器显示相同的状态。 这正是我想要做的。 由我在搜索列表中开始下载 项目显示在其他列表上的状态下载

简单的方法是创build一个数组水果的单身人士课程。 例如:你有模型水果:

class Fruit { var name: String? var isLike: Bool? } class List: NSObject { static let sharedInstance = APIRequest() var fruits = [Fruit]() } 

每个viewcontroler可以访问它:

 var list = List.sharedInstance 

每次1个水果喜欢或不喜欢时,改变该水果的属性,并使用NSNotification通知更多的视图控制器。 接收通知的ViewController将访问单例类的水果列表。