2017-02-03 15 views
-4

У меня есть NSMutableDictionary с комбинацией username & password, как я могу проверить его с помощью объектива C?Проверка с использованием NSMutableDictionary

Для Ex:

NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; 

[dictionary setObject:@"A" forKey:@"A"]; 
[dictionary setObject:@"B" forKey:@"B"]; 
[dictionary setObject:@"C" forKey:@"C"]; 

Как я могу проверить для имени пользователя & пароля в качестве ключевых пар значений.

+2

Вот ключ имя пользователя? –

+0

@krishna Skw в первую очередь вы сказали мне, какую валидацию имени пользователя вы должны сделать? означает подтверждение электронной почты? –

+0

Кришна проверяет мои сообщения и дайте мне знать ваши отзывы. – vaibhav

ответ

0

Много способов:

В одной строке:

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: 
     @"username1", @"pass1", 
     @"username2", @"pass2", 
     @"username3", @"pass3", 
     @"username4", @"pass4", nil]; 

Другой способ:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; 
[dict setObject:@"username1" forKey:@"pass1"]; 
[dict setObject:@"username2" forKey:@"pass2"]; 
// so on ... 

Другой использованием NSArray:

NSArray *username = @[@"username1", @"username2", @"username3", @"username4"]; 
NSArray *passwords = @[@"pass1", @"pass2", @"pass3", @"pass4"]; 
NSDictionary *dict = [NSDictionary dictionaryWithObjects:username forKeys:passwords]; 

// see output 
NSLog(@"%@", dict); 
// separately 
NSLog(@"Usernames: %@", [dict allValues]); 
NSLog(@"Passwords: %@", [dict allKeys]); 

можно проверить путем извлечения отдельных ключей и значений, соответственно, или с помощью блоков enumerateKeysAndObjectsUsingBlock:

[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { 

    // place your validation code here 
    NSLog(@"There are %@ %@'s in stock", obj, key); 
}]; 

Complete source.

0

Чтобы легко проверить содержимое словаря, вы можете просто получить доступ к ключу и подтвердить его значение.

Пример:

// this assumes that the key is the username and the value is the password 
NSDictionary *credential = @{@"username1":@"pass1",@"username2":@"pass2"/* , ..and so on */}; 

NSString *username = @"<user_input_or_whatever>"; 

NSString *passwordInput = @"<user_input_or_whatever>"; 

NSString *password = credential[username]; 

// if password is nil because username is not present the the condition below fails. 
if([password isEqualToString:passwordInput]){ 
    // both password and username matched 
} 
else{ 
    // username or password didn't matched 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^