您建议使用哪种数据库?我想存储用户电子邮件,用户名,密码和其他一些随机信息。它不一定要花哨。只是一个简单的数据库有免费选择吗?
答案 0 :(得分:3)
用户信息需要存储在钥匙串中以确保安全。
任何其他信息都可以存储在以下任何一个中:
NSUserDefaults
Core Data
(技术上只是磁盘上的文件)您选择哪种方式取决于数据的含义,数量以及您需要的访问权限。
如果您的数据很小并且被用户选择为某种设置,那么用户默认值是有意义的,并且是您实施的最低成本。
要使用数据库,请查看Core Data intro
。
答案 1 :(得分:3)
将其存放在plist中。如果您正在谈论与一个或几个用户有关的数据,那可能很容易。 here就是一个简单的例子。
答案 2 :(得分:3)
Wain是对的,但我认为您希望存储少量数据以供进一步使用,最有效的方法是使用NSUserDefault
。
NSUserDefault
将数据存储在NSDictionary
类型的内容中。
我认为这是你必须采取的步骤:
1-检查数据是否存在。我的意思是如果用户在上次运行您的应用时选择了该号码。所以在viewDidLoad
方法:
NSMutableDictionary *userDefaultDataDictionary = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:ALL_DATA_KEY] mutableCopy];
if (userDefaultDataDictionary) {
// so the dictionary exists, which means user has entered the number in previous app run
// and you can read it from the NSDictionaty:
if(userDefaultDataDictionary[LABLE_KEY]){
//and store it
}
}
2 - 您可以实施某些方法,例如syncronize
,以便在每次更改内容时将数据存储在NSUserDefault
中。
- (void) synchronize
{
NSMutableDictionary *dictionaryForUserDefault = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:ALL_DATA_KEY] mutableCopy];
if(!dictionaryForUserDefault)
dictionaryForUserDefault = [[NSMutableDictionary alloc] init];
dictionaryForUserDefault[LABLE_KEY] = //data you want to store
[[NSUserDefaults standardUserDefaults] setObject:dictionaryForUserDefault forKey:ALL_DATA_KEY];
[[NSUserDefaults standardUserDefaults] synchronize];
}
P.S。并且不要忘记#define
你的词典密钥:
#define LABLE_KEY @"Lables"
#define ALL_DATA_KEY @"AllData"
答案 3 :(得分:2)
既然你说数据库,那就存储在Sqlite中。已经在xcode中为它提供了一些东西。
整个数据库包含在一个文件中,如果需要,可以移动它。
以下是关于如何在您的应用中使用其中一个的更多information。