我必须制作一个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/