Должен быть некоторый недостающий ключевой элемент в том, как взять NSMutableDictionary
и сделать его дочерним по отношению к другому NSMutableDictionary
, что я не могу понять. Я пробовал практически все, и я начинаю думать, что спрыгнуть с моста может решить проблему.NSMutableDictionary, добавляющий ребенка
ток:
DICT:1 root
|_main dict
DICT:2 root
|_dict [A]
|
sub dict...
Желаемая:
DICT:1 root
|_main dict
|_dict [A]
|
sub dict....
В любое время я пытаюсь добавить "Dict: 2" до "ДИКТ: 1" переписывает основной Dict. Оставив меня:
DICT:1 root
|_dict [A]
|
sub dict...
Я пробовал много много вещей, в том числе:
NSMutableDictionary *myDict = [[NSMutableDictionary alloc] init];
[myDict setObject:@"mainDict" forKey:@"mainDict"];
[myDict setObject:@"dictA" forKey:@"mainDict"];
также попытался:
NSMutableDictionary *myDict = [[NSMutableDictionary alloc] init];
[myDict addEntriesFromDictionary:dictA];
NSMutableDictionary *moarDict = [myDict objectForKey:@"mainDict"];
[moarDict addEntriesFromDictionary:dictA];
и:
moarDict = [dictA mutableCopy];
тьфу! NSMutableDictionary
должен ненавидеть меня, потому что, без сомнения, я его ненавижу.
Там не секрет. NSMutableDictionary - объект Objective-C и может быть вставлен в другой словарь или массив, как и любой другой объект. –
'[myDict setObject: @" mainDict "forKey: @" mainDict "]; [myDict setObject: @" dictA "forKey: @" mainDict "];' устанавливает запись «mainDict» в myDict, чтобы указать на строку ' @ "mainDict" ', а затем сразу же перезаписываем это строкой' @ "dictA". На картинке нет даже второго словаря, просто строки. –
Ваша первая попытка, вероятно, приведет вас к совершенно неправильной дорожке. @ "dictA" - это NSString *, содержащий строку "dictA". Таким образом, второй оператор setObject хранит строку с содержимым «dictA» под ключом «mainDict». Вероятно, вы захотели сохранить объекты mainDict или dictA. – gnasher729