我必须制作一个iPhone应用程序。
我有一个按钮,如果我单击按钮,按钮名称是xib中的注册,则将打开注册表格

在Web服务器中创建注册表格
如果用户填写注册表
假设他在注册时填写了用户名和密码,它将保存在服务器中,并且相同的用户名和密码也应保存在本地数据库中。

最佳答案

您可以使用3个主要选项来保留登录数据:设置,核心数据和SqlLite。仅使用用户名和密码,您只需要使用“设置”,因为其他两个选项的开销会很大,并且它们经常用于关系数据。

要使用设置,您需要在应用程序控制器通过调用进行初始化时加载它们。

+ (void) loadDefaultSettings {

    NSString *path = [[NSBundle mainBundle] bundlePath];
    NSString *pListPath = [path stringByAppendingPathComponent:@"Settings.bundle/Root.plist"];
    NSDictionary *pList = [NSDictionary dictionaryWithContentsOfFile:pListPath];

    NSMutableArray *prefsArray = [pList objectForKey:@"PreferenceSpecifiers"];
    NSMutableDictionary *regDictionary = [NSMutableDictionary dictionary];

    for (NSDictionary *dict in prefsArray) {
        NSString *key = [dict objectForKey:@"Key"];
        if (key) {
            id value = [dict objectForKey:@"DefaultValue"];
            [regDictionary setObject:value forKey:key];
        }
    }

    [[NSUserDefaults standardUserDefaults] registerDefaults:regDictionary];
}

然后,您可以使用此方法的调用来存储您的用户名和密码;
+ (void) storePersistedLogin:(NSString *)uid withPassword:(NSString *)pswd  {
    [[NSUserDefaults standardUserDefaults] setObject:uid forKey:@"UID"];
    [[NSUserDefaults standardUserDefaults] setObject:pswd forKey:@"PSWD"];
}

您可以使用以下方法填充UITextField输入;
+ (void) populatePersistedLogin:(UITextField **)uid andPassword:(UITextField **)pswd {
    [*uid setText:(NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:@"UID"]];
    [*pswd setText:(NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:@"PSWD"]];
}

我在单独的SettingsUtils类中具有这些 public 方法,因此可以确保我的键相同。您也可以将键声明为NSString对象,以减少错误输入键的机会。

关于ios - 如何在iOS中管理数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5321919/

10-11 19:46
查看更多