iOS получает счетчик одного элемента, добавленного в массив. - PullRequest
0 голосов
/ 07 марта 2012

У меня есть база данных SQLite, в которой я считываю элементы из канала в объект «покупки», а затем добавляю в «элементы» NSMutableArray следующий код.

            [items addObject:shopping.listName];
            [items addObject:shopping.userID];
            [items addObject:shopping.listID];
            [items addObject:shopping.brandName];
            [items addObject:shopping.itemName];
            [items addObject:shopping.itemQuantity];
            [items addObject:shopping.imageURL];

Это работает и все, однако я затем хочу получить счетчик ListName и отобразить все записи для «ListName» в UITableview, и я не могу понять, как получить только этот объектиз массива.

Как сейчас, я могу установить количество ячеек вручную или сосчитать весь массив элементов, но я не смог выяснить, как просто получить счетчик для «ListName» и только записи для «ListName»"

(я думаю) Каждая восьмая запись должна быть" ListName ", но похоже, что запуск цикла for для получения только записей для" listname "- это что-то вроде эхх ... Я пытаюсь остатьсяот такого рода вещей, потому что если я добавлю запись в будущем, мне придется скорректировать индексы, и это PITA.

Элегантное решение, пожалуйста!

Ответы [ 3 ]

1 голос
/ 07 марта 2012

Возможно, вам нужен массив элементов NSDictionary.Я использую SQLite в качестве своего резервного хранилища, и вот как я это делаю.По сути, вы создаете NSDictionary для каждой записи в таблице, которую вы извлекаете.Ключами для NSDictionary являются имена столбцов.Затем добавьте каждый словарь записей в NSMutableArray.Таким образом, вы можете получить доступ к любой записи по индексу -> ключ:

[[items objectAtIndex:index] objectForKey:@"listName"].

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

[[items objectAtIndex:index] listName];
1 голос
/ 07 марта 2012

Почему бы просто не добавить объект 'shopping' в массив, почему вы добавляете каждое отдельное поле?

0 голосов
/ 07 марта 2012

То, что вы ищете NSDictionary, а не массив. В словаре вы можете добавить shopping.listName с ключом «ListName» и получить его с тем же ключом. Пожалуйста, ознакомьтесь с документацией Apple .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...