如何在iphone中管理数据库

时间:2011-03-16 06:49:56

标签: iphone objective-c sqlite core-data settings

朋友   在这里,我是iphone的新手,我必须提出申请   我有一个按钮,按钮名称是在xib注册,如果我点击按钮,然后注册表格将打开

在Web服务器中创建注册表单 如果用户填写登记表 假设他在注册时填写用户名和密码,它将保存在服务器中,同样的用户名和密码也应保存在本地数据库中 请帮我这个紧急的朋友

提前谢谢

1 个答案:

答案 0 :(得分:3)

您有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类中有这些公共方法,所以我可以确保我的键是相同的。您也可以将密钥声明为NSString对象,以减少错误输入密码的可能性。