NSFetchRequest - может ли он вернуть массив свойств? - PullRequest
0 голосов
/ 31 мая 2009

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

Например, у меня есть:

@interface SaleDate {
NSDate *open;
NSDate *close;
Sale *sale;
}

Я хочу запросить что-то вроде close >= $today. Тем не менее, это дает мне массив SaleDate, когда я действительно хочу отдельный массив Sale. Я использую это с NSFetchedResultsController и мне нужно иметь дело с объектом Sale.

Между прочим, у меня есть другой (предпочтительный) запрос, работающий при использовании бинарного хранилища - это хранилище SQLite, которое заставляет меня пойти по пути поиска альтернативного, но эквивалентного запроса.

Ответы [ 2 ]

1 голос
/ 25 июля 2009

Если у вас есть массив SaleDate и вы хотите получить массив Sale, просто напишите:

NSArray *arrayOfSale = [arrayOfSaleDate valueForKeyPath:"@sale"];

Предполагается, что SaleDate соответствует KVC для участника "продажи". Если SaleDate является управляемым объектом, а «продажа» является смоделированным свойством, это уже имеет место.

1 голос
/ 01 июля 2009

iPhone OS 2.x и Mac OS X 10.5 не имеют этой функции.

См. Документацию NSFetchRequest для iPhone OS 3.0, которая делает.

В частности, вы хотите посмотреть на

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