2014-10-29 4 views
-2

Я пытаюсь создать NSDictionary из NSMutableArray, чтобы создать ключ для подраздела UItableView. Я знаю, как создать подраздел UITableView, но любые советы по преобразованию NSMutableArray в NSDictionary, которые могли бы использовать UITableView, были бы весьма полезными. Благодарю.Преобразование NSMutableArray в NSDictionary из подписок UITableView

+0

, пожалуйста, объясните это лучше. ваш вопрос крайне неясен. –

+1

Обычно для представления таблицы необходимо, чтобы NSArray был источником данных. Совершенно непонятно, что вы ожидаете от NSDictionary. –

ответ

1

Ваш вопрос также может быть «Как превратить мою отвертку в гаечный ключ». Словари и массивы представляют собой два разных типа объектов коллекции, и они выполняют разные вещи, используя разные способы индексирования их содержимого.

Массивы - это упорядоченные коллекции. Они всегда имеют числовой индекс для каждого объекта.

Словари - это неупорядоченные коллекции, в которых хранятся пары ключ/значение. Вы извлекаете значение из словаря с помощью ключа, а ключ почти всегда является строкой. (Некоторые используют REQUIRE, чтобы это была строка.)

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

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

Немаловажно использовать массив словарей для представления информации в виде таблицы. Возможно, вам нужно будет отобразить заголовок, изображение и строку подробностей для каждой ячейки. Каждая из этих вещей может быть ключом/значением в словаре. В вашем методе cellForRowAtIndexPath вы должны использовать значение строки для извлечения словаря из массива словарей. Затем вы загрузите данные для ключа @image в образ для ячейки, строку из ключа «title» в поле заголовка и т. Д.

Для просмотра разделенной таблицы вы можете использовать массив массивы, где внешний массив представляет собой массив разделов, а каждый элемент во внешнем массиве представляет собой массив элементов для каждой строки в этом разделе. Тогда объекты во внутреннем массиве могут быть словарями, содержащими значения, которые будут отображаться в этом разделе и строке.

+0

Благодарим вас за ответ, жаль, что вы не поняли весь процесс с помощью nsdictionary. Я вытаскиваю данные из разбора, чтобы вставить в uitableview и хочу, чтобы подраздел был датой, и пример, который я видел на appcoda, использовал ns-словарь. Не совсем уверен, как это сделать. Любое направление или руководство относительно того, как это сделать, было бы замечательно. Благодаря! – user2985495

Смежные вопросы