Создание словаря из 3 массивов

#ios #arrays #object #dictionary

#iOS #массивы #объект #словарь

Вопрос:

У меня есть 3 массива:

Название, компания, описание. Каждый содержит 200 строк.

Имя = Адам, Венди, Остин и т.д. Компания = saumsung, apple, Microsoft и др. Описание = Этот сотрудник хороший, этот сотрудник много работает, этот сотрудник плохой и т.д.

Мне нужно соединить эти три массива, чтобы при поиске и возврате wendy я мог также вернуть, в какой компании она работает, и ее описание.

Я исследовал, и кажется, что лучший способ сделать это — объединить 3 массива в словарь с 3 ключами: название, компания и описание. Может ли кто-нибудь указать мне направление, как начать с этого? или скажите мне, может быть, словарь — не лучший метод.

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

Комментарии:

1. Вы спрашиваете, как объединить их в один словарь?? Я не могу сказать, о чем вы здесь спрашиваете. Кроме того, в качестве дополнительного примечания, мы здесь, чтобы направлять вас, а не писать ваш код за вас.

2. Похоже, вам нужен массив массивов, а не словарь массивов. Вы никогда не упоминали, какими будут ваши ключи для словаря.

3. @esqew надеюсь, что мои изменения прояснят это, и я не просил вас писать мой код, я попросил «для указателей».

4. Я не понимаю, чего вы хотите. Как у вас может быть 3 разных значения в качестве ключей?

5. @Blake — не предоставляя код, который вы пробовали ранее, сообщество (обычно правильно) предполагает, что вы сами ничего не пробовали, и вы публикуете здесь, чтобы кто-то написал код от вашего имени.

Ответ №1:

Надеюсь, этот пример поможет вам на вашем пути.

 NSArray *names;
NSArray *companies;
NSArray *descriptions;
NSMutableDictionary *employeeInfoByName = [NSMutableDictionary dictionary];
for (int ii=0; ii<names.count;   ii) {
    EmployeeInfo *employeeInfo = [[EmployeeInfo alloc] init];
    employeeInfo.company = companies[ii];
    employeeInfo.description = descriptions[ii];
    [employeeInfoByName setObject:employeeInfo forKey:names[ii]];
}
  

Пожалуйста, найдите время, чтобы понять этот код. Не копируйте и не вставляйте.