Проблемы с циклом forEach()

ios

#1
struct Response: Codable {
    let status: String
    let value: [Value]
}
struct Value: Codable {
    let psid: Int
    let name: String
    let valute: String
    let reserve: Double
    let with_codes: Int
    let img: String
}

var good = [Value]() // первый массив 

//---------------------------------------------------------

struct Response1: Codable {
    let status: String
    let value: [Value1]
}
struct Value1: Codable {
    let id: String
    let enabled: Int
    let direct: Int
    let psid1: Int
    let psid2: Int
    let in: Int
    let in_valute: String
    let out: Double
    let out_valute: String
    let in_min: Double
    let in_max: Int
    let reserve: Double
}

var good1 = [Value1]()// второй массив

//--------------------------------------------------
//сам цикл 

good.forEach { goodItem in
  if good1.contains(where: { good1Item -> Bool in
    return good1Item.psid2 == goodItem.psid
  }) {
    print(goodItem)
  }
}

проблема в том, что когда мне надо выводить goodItem.name в таблицу, выводится только последнее значение , хотя когда проверяю в консоль выводятся все , погуглив я нашел что метод return возвращает только последнее значение , как можно это исправить ?


#2

В какю таблицу?

Может filter поможет?

let result = good.filter { v in good1.contains { $0.psid2 == v.psid } }
result.forEach { print("name: \($0.name)") }