У меня есть объект с данными ядра с несколькими атрибутами, и мне нужен список всех объектов в одном атрибуте. Мой код выглядит следующим образом:Получение выбранного атрибута в объектах
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let sortDesc = NSSortDescriptor(key: "username", ascending: true)
let fetchReq = NSFetchRequest(entityName: "Identities")
fetchReq.sortDescriptors = [sortDesc]
fetchReq.valueForKey("username")
let en = NSEntityDescription.entityForName("Identities", inManagedObjectContext: context)
userList = context.executeFetchRequest(fetchReq, error: nil) as [Usernames]
Но это дает мне NSException-ошибку, и я не могу понять, почему и как я должен это сделать. Я прочитал описание класса NSFetchRequest, но не мог понять его.
Любые предложения будут оценены.
EDIT: После наводки Bluehound я изменил код так:
var userList = [Model]()
@IBAction func printUsers(sender: AnyObject) {
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let sortDesc = NSSortDescriptor(key: "friendID", ascending: true)
let fetchReq = NSFetchRequest(entityName: "Identities")
fetchReq.sortDescriptors = [sortDesc]
fetchReq.propertiesToFetch = ["friendID"]
let en = NSEntityDescription.entityForName("Identities", inManagedObjectContext: context)
userList = context.executeFetchRequest(fetchReq, error: nil) as [Model]
println(userList)
}
Ошибка выполнения ушла, но я до сих пор не знаю, если это работает, потому что я не знаю, как конвертировать список в список строк.
Как всегда, предложения будут оценены.
Использовать свойство 'свойстваToFetch'' NSFetchRequest' вместо 'valueForKey' – Ian
@Bluehound Можете ли вы показать мне, что у меня возникли проблемы с инициализацией NSPropertyDescription. – martin
Как выглядит вывод println (userList)? – pbasdf