如何使用Plist数据验证来自UItextfield的用户输入

时间:2018-05-16 10:26:15

标签: ios objective-c uibutton plist

我有一个Plist文件,其中包含用户名和密码。

  • 如果点击提交按钮,如何从Plist获取数据并使用用户输入值进行验证。

  • 按下提交按钮后。如果用户输入数据与Plist中的数据匹配。它应该显示登录成功并在另一个视图控制器中显示配置文件数据。

在Objective-C

2 个答案:

答案 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"]
        // ....
        // ....
    }