Как проверить пользовательский ввод из UItextfield с данными Plist - PullRequest
0 голосов
/ 16 мая 2018

У меня был файл Plist, который содержит имя пользователя и пароль.

  • как извлекать данные из Plist и проверять вводимые пользователем значения при каждом нажатии кнопки отправки.

  • после нажатия кнопки подтверждения.если введенные пользователем данные совпадают с данными в Plist.должен отображаться успешный вход в систему и отображать данные профиля в контроллере другого представления.

в Objective-C

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

получить 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"]
        // ....
        // ....
    }
0 голосов
/ 16 мая 2018

Вы можете попробовать

Swift

// принудительно разворачиваем, чтобы гарантировать существование данных

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
}
...