Вложенные массивы в объект NSDictionary (Objective-C) - PullRequest
0 голосов
/ 03 января 2011

Я хотел бы определить задачи, используя NSDictionary, который я хотел бы сохранить в файле plist (мне пока не очень повезло с Core Data), но я застрял в двух моментах:

- При использовании initWithObjectsAndKeys: я могу изменить тип данных на число или логическое значение, используя методы NSDate numberWithInt: и numberWithBool: соответственно.Я не могу найти способ изменить тип, хотя на сегодняшний день.Я не смог найти ничего подобного в документации.

- Вторая проблема, с которой я столкнулся, была с вложенными массивами.Как я могу добавить их в словарь?

Я загрузил картинку в здесь того, чего я пытаюсь достичь.Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 03 января 2011

для даты вы также можете использовать numberWithInt: и timeIntervalSince1970 метод NSDate для получения метки времени.Существует также конструктор для этой метки времени.

Для вложенных массивов вы можете просто добавить объекты NSArray в Dictonary.

1 голос
/ 03 января 2011

Вы имеете в виду NSNumber +numberWithInt: и +numberWithBool: методы, а не NSDate?Именно NSNumber определяет эти методы.

Чтобы преобразовать число в дату, оно действительно зависит от того, что это за число.Если это отметка времени UNIX, то [NSDate dateWithTimeIntervalSince1970:theTimestampInSeconds].

Что касается добавления NSArray объектов в словарь:

[yourDictionary setObject:yourArray forKey:@"SomeKey"];

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

0 голосов
/ 03 января 2011

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

[plist setObject:theDate forKey:@"theDateKey"];

.:

[NSDictionary dictionaryWithObjectsAndKeys:@"1", @"One", @"2", @"Two"];
...