MsNichols
MsNichols

Reputation: 1133

Fetch Data Array from CoreData in Swift

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

Answers (1)

Peter Fennema
Peter Fennema

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

Related Questions