你建议什么样的数据库?我想存储用户电子邮件、用户名、密码和其他一些随机信息。它不必花哨。只是一个简单的数据库。有没有免费的选择?
问问题
2169 次
4 回答
3
用户信息需要存储在钥匙串中以确保其安全。
任何其他信息可以存储在以下任何一个中:
- 用户默认值
NSUserDefaults
- 磁盘上的文件(可能是 plist)
- 数据库
Core Data
(技术上只是磁盘上的一个文件)
您选择哪一种取决于数据是什么、有多少以及您需要什么样的访问权限。
如果您的数据很小并且由用户选择作为某种设置,那么用户默认值是有意义的,并且是您实施的最低成本。
要使用数据库,请查看Core Data intro
.
于 2013-06-22T23:38:33.217 回答
3
将其存储在 plist 中。如果您谈论的是与一个或几个用户有关的数据,那可能是一件容易的事。 这是一个简单的例子。
于 2013-06-22T23:38:56.203 回答
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];
}
PS,不要忘记#define
你的字典键:
#define LABLE_KEY @"Lables"
#define ALL_DATA_KEY @"AllData"
于 2013-06-23T00:55:43.263 回答
2
于 2013-06-22T23:41:19.193 回答