我正在创建一个包含两个标签的应用,其中一个是“收藏”标签。在另一个名为“搜索”的选项卡中,我有一个在表格视图中显示的结果列表,当您点击一个时,您可以看到该特定结果的详细信息。我在这里要做的是,在详细视图中有一个按钮,当按下它时,当前结果将被发送到“收藏夹”选项卡。我试图使用委托传递信息,但它没有成功。这是我的代码:
DetailViewController.m
-(IBAction) addSomething {
[self.delegate detailViewController:self addToFavourite:self.something];
}
FavouriteViewController.m,实现委托方法:
- (void) detailViewController:(DetailViewController *)detailViewController addToFavourite:(Something *)something{
detailViewController.delegate = self;
[thingsList addObject:something];
[theTableView reloadData];
}
一切都很好,但是当我在详细视图中单击“添加”按钮时,数据不会被发送到“收藏夹”选项卡的视图。任何人都可以帮我这个吗?在这种情况下我是否需要使用核心数据,之前从未使用过核心数据。感谢。
答案 0 :(得分:1)
一种简单易行的方法是将您的信息存储在NSUserDefaults中。
NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
[defaults setObject:thingsList forKey:@"myData"];
[defaults synchronize];
在其他标签中加载数据时,只需从用户默认值中填写。
NSUserDefaults *defaults = [NSUserDefaults standardDefaults];
otherData = [defaults objectForKey:@"myData"];
我可能会滥用用户默认设置,但它可以非常简单地在本地存储您的数据,并使其在运行之间保持不变。它还将使用iTunes进行备份以增加持久性。希望这会有所帮助。