我有一个Plist文件,其中包含用户名和密码。
如果点击提交按钮,如何从Plist获取数据并使用用户输入值进行验证。
按下提交按钮后。如果用户输入数据与Plist中的数据匹配。它应该显示登录成功并在另一个视图控制器中显示配置文件数据。
在Objective-C
中答案 0 :(得分:3)
你可以尝试
<强>夫特强>
//强制解包以确保数据的存在
let path = Bundle.main.path(forResource: "fileName", ofType: "plist")
let dic = NSDictionary(contentsOfFile: path) as! [String:String]
self.name = dic["username"] as! String
self.pass = dic["password"] as! String
提交时
检查
if username.text == name && password.text == pass {
// success
}
<强>目标C 强>
NSDictionary *mainDictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"plist"]];
NSString *name = mainDictionary[@"username"];
NSString *pass = mainDictionary[@"password"];
if ([username.text isEqualToString:name] && [password.text isEqualToString:pass]) {
// success
}
答案 1 :(得分:0)
通过
得到plist是安全的func getDictOfPlist(fileName : String) -> [String:String]? {
guard let filePath = Bundle.main.path(forResource: fileName, ofType: "plist") else {
// can't gen file path
return nil
}
guard let dict = NSDictionary(contentsOfFile: filePlist) as? [String:String] else {
// can't read file or data type false
return nil
}
return dict
}
使用
if let content = getDictOfPlist(fileName: "UserData") {
username.text = content["name"]
// ....
// ....
}