我有一个应用程序,可以在tableview中加载国家/地区列表。第一次下载应用程序时,它应显示整个列表,当用户选择应添加到阵列的国家/地区时。我没有得到如何跟踪用户第一次选择的国家数量,以及下次每当用户打开应用程序时我应该只显示所选国家/地区。我可以用什么方式实现这个?当我在网上搜索了解静态但无法实现它时。
我是iPhone开发的新手。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用不同的选项来持久存储信息:Core Data,SQLite等。在这种情况下使用的简单方法是NSUserDefault。如果将所选国家/地区的列表保留在NSArray中,则可以按如下方式存储和检索此数组:
//To set your array
[[NSUserDefaults standardUserDefaults]setObject:(NSArray *)yourArray forKey:@"userSelection"];
[[NSUserDefaults standardUserDefaults]synchronize];
//To retrieve your array
NSArray *myArray = [[NSUserDefaults standardUserDefaults]objectForKey:@"userSelection"];
要使用此选项,您的NSArray必须是属性列表 - 这是Apple文档,用于了解property list is。如果您想存储其他类型的对象,您应该查看不同的解决方案(.e.g核心数据)。
答案 1 :(得分:0)
您需要持久存储选择。与静态变量无关,静态变量在退出应用程序时会被取消。以NSUserPreferences
为例,查看存储用户偏好的一种方法。
答案 2 :(得分:0)
您要找的是persistent storage
。
persistent storage
中iOS
的各种方式是: -
Property Lists
SQLite
Core Data
User Defaults (NSUserDefaults)
。取决于种类和&要存储的数据大小,可以使用以下其中一种。
如果您的要求表明您只需坚持NSArray
,那么最好选择Property Lists
或NSUser Defaults
。
阅读&撰写Property List
您可以找到文档in Apple Docs
对于NSUser Defaults
用法,您可以找到一个好的教程here