2013-09-13 2 views
0

У меня есть метод, который принимает номер звонка и возвращает BOOL на основании условия, если этот номер звонящего в NSMutableDictionary или нет.соответствует входной строке со строкой

Это структура словаря

значение ключа

телефон 1234567890

workphone 2345678910

HomePhone 4252433718

Как я могу проверить, если что PhoneNumber в словаре?

Я пробовал didContain, но он всегда возвращает NO, даже если номер находится в словаре.

+1

'вернуться [Dict allKeysForObject: PHONENUMBER] .Count> 0,' –

+0

это работает, но не могли бы вы объяснить, "> 0" – user2769614

+0

@userXXX Если вы не знаете, что '> 0 'означает, то вы еще должны читать книгу C-новичков, вместо того, чтобы уже делать приложения iOS ... –

ответ

2

Это должно сделать это.

- (BOOL) hasNumber:(NSString *) phoneNumber 
{ 
    return [[phoneNumbers allValues] containsObject:phoneNumber]; 
} 
1
NSNumber *object = [NSNumber numberWithInt:1234567890]; 

if ([dictionary allKeysForObject:object] count] > 0) { 
    NSLog(@"The number is in dictionary."); 
} else { 
    NSLog(@"The number is not there in dictionary."); 
} 
+0

phonenumber - это значение для таких клавиш, как мобильный телефон, рабочий телефон, домашний телефон – user2769614

0

проверка этого .. Я не уверен, если это то, что вы хотите

NSDictionary *dictionary = @{@"workhome":@(123123),@"homephone":@(456456)}; 

if (dictionary[@"workhome"] != nil) 
{ 
    //the key "workhome" has something 
} 

if ([[dictionary allValues] containsObject:@(123123)]) 
{ 
    //the user has this number 
    NSArray *key = [dictionary allKeysForObject:@(123123)]; 
    if (key.count > 0) 
    { 
     //now you have all keys for this object. 
    } 
} 
Смежные вопросы