在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将访问单例类的水果列表。