将永久的 NSDictionary 添加到 ios 应用程序



我正在为iPhone开发一个铁路应用程序。该应用程序在其中一个视图中列出了用户周围的一些火车站。但我不想总是ping服务器,以访问不会改变的数据。我打算在这里做的是,创建一个虚拟应用程序并访问一次站点列表,将其保存在NSDictionary中,然后将该NSDictionary文件永久复制到我的真实应用程序中。我该怎么做?注意:- 使用 Objective-C .不Swift

您可以使用

以下任何一个进行存储。

NSUserDefaults -- 它用于适度保存数据。

核心数据 - 它用于保存具有更多不同类型的记录的大数据。

属性列表 -- 列表。

如果您想永久保存数据,即使该应用程序已从设备中删除。

您也可以在删除并重新安装应用程序后使用以下UIKeyChain获取数据。这种情况不适用于Core Data & User Defaults。

钥匙串存储将通过访问

钥匙串访问来存储数据。

https://github.com/kishikawakatsumi/UICKeyChainStore

希望它是有用的内容..

使用 NSUserDefault 将数据存储在存档中。 和 在一段时间后更新数据 ex. every 2 hour 或其他什么。

存储数据

NSData *datadic = [NSKeyedArchiver archivedDataWithRootObject:yourDictionaryName];
[[NSUserDefaults standardUserDefaults] setObject: datadic forKey:SCHEDULEDATA];
[[NSUserDefaults standardUserDefaults] synchronize];

获取数据

if([[NSUserDefaults standardUserDefaults] valueForKey:SCHEDULEDATA]!= nil){
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSData *data = [defaults objectForKey:SCHEDULEDATA];
    NSMutableDictionary *yourDictionaryname = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 
}

每次都使用您的字典名称。就是这样。

如果电台列表永远不会更改,或者您不想支持即时更新,而您只想将列表烘焙到您的应用程序中,另一种方法可能是在您的应用程序中包含 json 文件。然后,您可以通过以下方式简单地从文件中检索内容:

NSString *stations = [[NSBundle mainBundle] pathForResource:@"stations" ofType:@"json"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

相关内容

最新更新