Операторы SQL Sum и If / Case в NSArray - PullRequest
2 голосов
/ 28 января 2012

В настоящее время я много раз обращаюсь к базе данных SQL для получения сумм данных, однако данные уже находятся в NSArray, поэтому я бы предпочел вместо этого выполнить мои вычисления. В настоящее время я использую этот запрос к базе данных SQL:

 SELECT MAX(pk), pk, CASE WHEN result IS NULL THEN BFNeeded ELSE CFNeeded END AS Carry,
 CASE WHEN result IS NULL THEN 1 ELSE 0 END AS Settle FROM table1;

У меня есть пользовательский объект, который имеет несколько строк NSS, таких же как таблица SQL (pk, BFNeeded, CFNeeded и т. Д.), И у меня есть несколько таких объектов в NSArray.

Как выполнить вышеуказанный запрос к массиву? Есть ли способ выполнить SQL-запросы, как указано выше, или мне нужно использовать совершенно другой подход для выполнения CASE?

Спасибо

1 Ответ

1 голос
/ 28 января 2012

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

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html#

Вы можете попытаться отфильтровать или предикатировать ваш массив,например, вы можете перебрать массив с блоком или получить подмножество объектов, которые соответствуют определенным критериям или пройти тест, например, с помощью: NSArray * FilterArray = [myArray FilterArrayUsingPredicate: myPredicate];

Затем используйтеОператор KVC для расчета набора результатов.

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