【发布时间】:2018-05-16 10:26:14
【问题描述】:
我有一个包含用户名和密码的 Plist 文件。
如何在点击提交按钮时从 Plist 中获取数据并使用用户输入值进行验证。
按下提交按钮后。如果用户输入数据与 Plist 中的数据匹配。它应该显示登录成功并在另一个视图控制器中显示配置文件数据。
在 Objective-C 中
【问题讨论】:
标签: ios objective-c uibutton plist
我有一个包含用户名和密码的 Plist 文件。
如何在点击提交按钮时从 Plist 中获取数据并使用用户输入值进行验证。
按下提交按钮后。如果用户输入数据与 Plist 中的数据匹配。它应该显示登录成功并在另一个视图控制器中显示配置文件数据。
在 Objective-C 中
【问题讨论】:
标签: ios objective-c uibutton plist
你可以试试
斯威夫特
// 强制解包以确保数据存在
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
}
Objective-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
}
【讨论】:
get plist is safe by
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"]
// ....
// ....
}
【讨论】:
objective-c