我将数据存储在代码数据中,其中包含一个名为 Users 的表。我只是想从返回的数据数组中提取“FirstName”,但在我的控制台中一直得到“nil”。
let fetchRequest = NSFetchRequest(entityName:"Users")
let fetchedResults =
managedContext.executeFetchRequest(fetchRequest, 错误:&错误)作为? [用户]
var arrayvalues=NSArray(array: fetchedResults!)
if let results = managedObject?.executeFetchRequest(fetchedResults, error: nil) as? [Users] {
let someObject = results[firstName]
}
我的用户类如下:
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
}
我一直在寻找实现此目的的方法,但似乎无法获取任何 FirstNames...
最佳答案
替换
if let results = managedObject?.executeFetchRequest(fetchedResults, error: nil) as? [Users] {
let someObject = results[firstName]
}
通过
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)
}
}
我的代码片段将每个用户的名字添加到 firstNames 数组中。您必须意识到代码中的 someObject 不是单个用户,而是一组用户。
关于ios - 在 Swift 中从 CoreData 中获取数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217582/