1

你建议什么样的数据库?我想存储用户电子邮件、用户名、密码和其他一些随机信息。它不必花哨。只是一个简单的数据库。有没有免费的选择?

4

4 回答 4

3

用户信息需要存储在钥匙串中以确保其安全。

任何其他信息可以存储在以下任何一个中:

  1. 用户默认值NSUserDefaults
  2. 磁盘上的文件(可能是 plist)
  3. 数据库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 - 您可以实现一些方法,例如syncronizeNSUserDefault每次更改某些内容时存储数据。

- (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

既然你说数据库,那就存储在 Sqlite 中。xcode 中已经为它提供了一些东西。

整个数据库包含在一个文件中,如果需要,可以移动该文件。

以下是有关如何在您的应用中使用的更多信息。

于 2013-06-22T23:41:19.193 回答