仅从 Core Data 的每个实体中选取"name" 个实体作为 Array Swift 4



我在CoreData中有用户模型和汽车模型。我为 3 个用户节省了 1 辆车。

如何只选择每辆车的名称变量并设置为数组?

    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 { $0.name }

如果您将cars声明(和设计(为非可选Set<Car>而不是未指定的NSSet?那么还有一个更好的选择。

let currentUser = users.first as! User    
let carsList = currentUser.cars.map { $0.name }

allObjects,无类型转换

相关内容

最新更新