как установить NSDictionary без Ключей

у меня есть два множества, сохраненные в словаре:

array1=[[NSArray alloc]initWithObjects:a,b,c,d,e, nil];
array2=[[NSArray alloc]initWithObjects:1,2,3, nil];
 NSDictionary * dic=[[NSDictionary alloc]initWithObjects:array1 forKeys:array2];

если я бегу, я получаю ошибку как:

-[NSDictionary initWithObjects:forKeys:]: count of objects (0) differs from count of keys (1)'

теперь я хочу установить словарь только для a, b, c с ключами: 1,2,3.

были, поскольку множества не могут быть отредактированы

как я могу сделать это

0
хм. я не могу управлять множествами that' s проблема
добавлено автор Pradeep Kumar, источник
установите ключ для целого множества!, как сделать это
добавлено автор Pradeep Kumar, источник
да AKV вы правильны
добавлено автор Pradeep Kumar, источник
Madhu как AKV заявил, что мне нужно только a, b, c
добавлено автор Pradeep Kumar, источник
я не могу удалить d, e от множества
добавлено автор Pradeep Kumar, источник
Обеспечьте равное количество объектов обоим множества.
добавлено автор Kanan Vora, источник
Вы хотите установить ключ для целого множества или для каждого объекта множества?
добавлено автор Kanan Vora, источник
Вам нужно только для a, b, c? что относительно d и e? позвольте ' их идут отходы?
добавлено автор Anoop Vaidya, источник
@PradeepKumar: , как установить NSDictionary без Ключей Сейчас, я ответил на потребность словаря, без нолей для ключей и ценностей в другом вопросе. Пожалуйста, помните все эти понятия.:)
добавлено автор Anoop Vaidya, источник
@PradeepKumar, прохладный:) В этом случае ответы, предоставленные ниже, должны удаться для вас. За Ваше здоровье!
добавлено автор Madhu, источник
Ну, короткий ответ то, что вы can' t хранят объект в словаре без ключа; это - цель словаря - чтобы вспомнить что-то с известным значением ключа. Если вам не НУЖЕН ключ, то что you' ре, смотрящим на, является Множество, как предложено ранее.
добавлено автор Madhu, источник
Словарь без ключей называют множеством.
добавлено автор user529758, источник

5 ответы

Не имеет смысла добавлять ключи для нулевых ценностей.

NSRange range = NSMakeRange(0, MIN(array1.count, array2.count));
NSDictionary * dic=[[NSDictionary alloc]initWithObjects:[array1 subarrayWithRange:range]
                                                forKeys:[array2 subarrayWithRange:range]];
2
добавлено
Хороший путь:) Впечатленный
добавлено автор Anoop Vaidya, источник
@cocoafan: хороший..!
добавлено автор preetam, источник
Спасибо. Требуются все еще некоторые улучшения. Проверка нулевую длину, например.
добавлено автор cocoafan, источник

Используйте как:

array1=[[NSArray alloc]initWithObjects:a,b,c,d,e, nil];
array2=[[NSArray alloc]initWithObjects:1,2,3, nil];
// NSDictionary * dic=[[NSDictionary alloc]initWithObjects:array1 forKeys:array2];

NSMutableDictionary * dic=[NSMutableDictionary new];
for(int i=0 ; i< array2.count ; i++ ){
   [dic setObject:array1[i] forKey:array2[i]];
}
1
добавлено

Единственный ключ для целого множества прост установить:

NSDictionary * dic=[[NSDictionary alloc]initWithObjects:array1 forKeys:@"Array"];

И если вы хотите добавить ключ к каждому объекту во множестве, это идет как это:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
int key = 1;
for (NSString *str in array1) {
    [dict setObject:str forKey:[NSString stringWithFormat:@"%d",key]];
    key++;
}

Надежда это помогает!!!

0
добавлено
множества can' t быть отредактированным получаю это от обслуживания, как я упомянул рассматриваемый
добавлено автор Pradeep Kumar, источник
Я здесь использую увеличенную ценность ключа во втором подходе.
добавлено автор Kanan Vora, источник
Почему используют NSDictionnary, если у вас есть тот же самый ключ? И ключ должен быть уникальным.
добавлено автор Larme, источник

От доктора:

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

0
добавлено

Use NSMutableArray to work with the first array remove d & e from it

0
добавлено
множества can' t быть отредактированным получаю это от обслуживания
добавлено автор Pradeep Kumar, источник
Получил то, что вы имеете в виду теперь. Отредактированный.
добавлено автор Adi, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.