Невозможно получить ключ значения из NSDictionary в Xcode - PullRequest
0 голосов
/ 02 августа 2020

Я пытался получить ключ значения, используя само значение из NSDictionary в моем проекте Xcode. Я использую следующий словарь:

_itemDictionary = @{
        @"Electronics" : @[@"DVD player", @"Laptop", @"PC", @"PS4", @"Radio", @"Speaker", @"TV"],
        @"Clothing" : @[@"Air jordan", @"Bracelet", @"Fila", @"Jeans", @"T-shirt", @"Todds", @"Tag Heuer"],
        @"Cleaning products" : @[@"Ajax", @"Ariel", @"Bounty", @"Clorox", @"Dettol", @"Tide", @"Vileda"],
        @"Baby products" : @[@"Baby bottle", @"Baby milk", @"Johnson's wipes", @"Pampers"]
    };

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

NSString *name = self.itemNames[indexPath.row];
        
cell.textLabel.text = name;
//get all keys for current item
NSArray *keys = [_itemDictionary allKeysForObject:name];
        
NSLog(@"%lu", (unsigned long)keys.count);

Итак, что Я понял, что количество ключей NSarray, которые я использую, всегда равно 0, независимо от имени элемента.

Я пытался увидеть предлагаемые решения, прежде чем размещать этот вопрос здесь, но ни один из них не помог мне, и поэтому Я выложил это. Было бы так много значить, если бы кто-нибудь помог! Спасибо, ребята.

1 Ответ

0 голосов
/ 02 августа 2020

Итак, с подсказкой, данной Джоном Элемансом, я понял, что словарь на самом деле содержит массивы. И чтобы я мог проверить, какие массивы содержат имя, которое я искал, мне пришлось сначала получить все массивы в словаре, а затем go через каждый из них и проверить, какой из них содержит элемент. После этого я использовал массив, содержащий элемент, чтобы получить соответствующий ключ.

Удачного кодирования!

...