从 Core Data 的每个实体中仅选择 "name" 作为数组 Swift 4
Pick only "name" from every entity from Core Data as Array Swift 4
我在 CoreData 中有用户模型和汽车模型。我为 1 个用户节省了 3 辆车。
如何只选择每辆车的名称变量并设置为数组?
let users = try! managedContext.fetch(userFetch)
let currentUser: User = users.first as! User
let cars = currentUser.cars?.allObjects as! [Car]
print(currentUser.email)
let carsList = [String]
cars.forEach { sample in
carsList.append(sample.name)
}
有比我更好的解决方案吗?
有更好的解决方案
let carList = cars.map { [=10=].name }
如果您声明(和设计)cars
为非可选 Set<Car>
而不是未指定 NSSet?
,还有更好的
let currentUser = users.first as! User
let carsList = currentUser.cars.map { [=11=].name }
没有allObjects
,没有类型转换
我在 CoreData 中有用户模型和汽车模型。我为 1 个用户节省了 3 辆车。
如何只选择每辆车的名称变量并设置为数组?
let users = try! managedContext.fetch(userFetch)
let currentUser: User = users.first as! User
let cars = currentUser.cars?.allObjects as! [Car]
print(currentUser.email)
let carsList = [String]
cars.forEach { sample in
carsList.append(sample.name)
}
有比我更好的解决方案吗?
有更好的解决方案
let carList = cars.map { [=10=].name }
如果您声明(和设计)cars
为非可选 Set<Car>
而不是未指定 NSSet?
,还有更好的
let currentUser = users.first as! User
let carsList = currentUser.cars.map { [=11=].name }
没有allObjects
,没有类型转换