Ios 如何获取Coredata?
我正在尝试使用属性Ios 如何获取Coredata?,ios,swift,core-data,swift4,Ios,Swift,Core Data,Swift4,我正在尝试使用属性令牌获取CoredataUser,但是我无法让它工作,因为我得到一个错误,即类型为“[User]”的值没有成员“令牌”。我在堆栈上尝试了几次修复,但似乎不起作用 这是我的密码: let managedContext = coreDataStack.managedContext let request = NSFetchRequest<User>(entityName: "User") do { let users = try managedContext.f
令牌
获取CoredataUser
,但是我无法让它工作,因为我得到一个错误,即类型为“[User]”的值没有成员“令牌”
。我在堆栈上尝试了几次修复,但似乎不起作用
这是我的密码:
let managedContext = coreDataStack.managedContext
let request = NSFetchRequest<User>(entityName: "User")
do {
let users = try managedContext.fetch(request)
print(users)
print(users.token)
} catch {
print(error.localizedDescription)
}
让managedContext=coreDataStack.managedContext
let request=NSFetchRequest(entityName:“用户”)
做{
let users=try managedContext.fetch(请求)
打印(用户)
打印(users.token)
}抓住{
打印(错误。本地化描述)
}
您非常接近,用户的类型是[User]
,因此是用户
对象的数组,因此您可以通过以下方式获得每个用户的令牌:
let managedContext = coreDataStack.managedContext
let request = NSFetchRequest<User>(entityName: "User")
do {
let users = try managedContext.fetch(request)
for user in users {
print(user.token)
}
} catch {
print(error.localizedDescription)
}
如果您试图访问特定用户的令牌,则应在唯一属性上设置谓词。例如,如果唯一属性是(例如)唯一ID:
let managedContext = coreDataStack.managedContext
let request = NSFetchRequest<User>(entityName: "User")
request.predicate = NSPredicate(format: "uniqueId == %@", uniqueId)
do {
let users = try managedContext.fetch(request)
if let user = users.last {
print(user.token)
}
} catch {
print(error.localizedDescription)
}
让managedContext=coreDataStack.managedContext
let request=NSFetchRequest(entityName:“用户”)
request.predicate=NSPredicate(格式:“uniqueId==%@”,uniqueId)
做{
let users=try managedContext.fetch(请求)
如果let user=users.last{
打印(user.token)
}
}捕获{
打印(错误。本地化描述)
}
users
是类User
的对象数组。因此,该数组没有标记
。您可能需要执行打印(“用户令牌:\(users.map{$0.token})”
?@Larme谢谢您的工作
let managedContext = coreDataStack.managedContext
let request = NSFetchRequest<User>(entityName: "User")
request.predicate = NSPredicate(format: "uniqueId == %@", uniqueId)
do {
let users = try managedContext.fetch(request)
if let user = users.last {
print(user.token)
}
} catch {
print(error.localizedDescription)
}