2015-05-27 7 views
0

Я работаю над простым приложением iOS Swift и не могу найти решение для небольшой проблемы с основными данными. Я должен сгруппировать некоторые данные, которые я извлекаю из основных данных, но это не сработает.Swift Core Data - группа не работает

Это мой fetchRequest:

<NSFetchRequest: 0x7f82fbe105e0> (entity: Sets; predicate: ((null)); sortDescriptors: ((
    "(sort, ascending, compare:)" 
)); type: NSDictionaryResultType; includesPendingChanges: NO; propertiesToFetch: ((
    name 
)); propertiesToGroupBy: ((
    name 
));) 

Я вроде и добавил свойства группе. Также задан тип результата - DictionaryResultType.

А вот мой FetchRequest:

fetchRequest = NSFetchRequest(entityName:entity) 
fetchRequest.propertiesToGroupBy = groupDescriptors 
fetchRequest.propertiesToFetch = propertiesToFetch 
fetchRequest.resultType = .DictionaryResultType 
let fetchedResults = managedContext.executeFetchRequest(fetchRequest as NSFetchRequest, error: &error) as? [NSManagedObject] 
  • Entity является строкой variabel
  • groupDescriptors и propertiesToFetch являются массивами строки

ответ

1

Ok Я нашел решение, и это как раз просто.

managedContext.executeFetchRequest(fetchRequest as NSFetchRequest, error: &error) as? [NSManagedObject] 

генерирует только объекты NSManagedObject. Если вы измените запрос на выборку на

managedContext.executeRequest(fetchRequest, withContext: managedContext as! NSManagedObjectContext, error: nil) as! [AnyObject] 

вы получите ваши данные.

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