我不知道如何在两个标签栏项之间共享相同的数据。 一个选项卡使用nsfetchedresultscontroller,另一个表只是一个普通视图,应该使用与fetchedresultscontroller相同的数据。
如果我有两个法线视图,我只会让我的对象成为一个单例,并让tableview和普通视图使用相同的数据。
但现在我有一个fetchresultscontroller和一个普通的视图。我正在考虑使用另一个fetchedresultscontroller进行普通视图,因此我拥有所有功能,例如获取缓存,通知等等。
我知道fetchresultscontroller应该用于tableview,但我想我也可以将它用于非tableviews。
有人知道我应该做什么?我无法在这件事上找到苹果的文件。
答案 0 :(得分:0)
您的数据应该与您的viewControllers或视图有关 - 也就是说,如果您遵循MVC样式。如果您的数据仅在一个viewController中可用,并且您不想将其提取到自己的类中,那么在viewController中提供可由另一个viewController调用以获取数据的方法。
例如,有这样的方法:
- (NSString) getNameOfSelectedUserAtIndex:(int) index;
- (int) getCountOfSelectedUsers;
- (NSSArray) getResults;
然后从你的另一个viewController中调用:
string = [fetchedresultscontroller getNameOfSelectedUserAtIndex:i];
count = [fetchedresultscontroller getCountOfSelectedUsers];
array = [fetchedresultscontroller getResults];
您必须确保将fetchedresultscontroller作为实例变量添加到另一个 viewController并将其设置在viewDidLoad中。