Reputation: 1133
I have data stored in Code Data with a table called Users. I am simply trying to pull the "FirstName" from the array of data returned but keep getting "nil" in my console.
let fetchRequest = NSFetchRequest(entityName:"Users")
let fetchedResults =
managedContext.executeFetchRequest(fetchRequest, error: &error) as? [Users]
var arrayvalues=NSArray(array: fetchedResults!)
if let results = managedObject?.executeFetchRequest(fetchedResults, error: nil) as? [Users] {
let someObject = results[firstName]
}
My user class looks like:
class Users: NSManagedObject {
@NSManaged var email: String
@NSManaged var firstName: String
@NSManaged var fLast: String
@NSManaged var fullName: String
@NSManaged var id: String
@NSManaged var isActive: String
@NSManaged var lastName: String
@NSManaged var lastupdated: String
@NSManaged var role: String
@NSManaged var uPass: String
}
I've been looking for ways to achieve this but cant seem to fetch any of the FirstNames...
Upvotes: 1
Views: 1491
Reputation: 1690
Replace
if let results = managedObject?.executeFetchRequest(fetchedResults, error: nil) as? [Users] {
let someObject = results[firstName]
}
By
var firstNames = [String]() // empty array to keep the firstNames
if let results = managedObject?.executeFetchRequest(fetchedResults, error: nil) as? [Users] {
for user in results {
firstNames.append(user.firstName)
}
}
My code snippet adds the firstName of every user in the firstNames array. You have to realise that someObject in your code is not a single User but an array of Users.
Upvotes: 1