Спасибо за все комментарии, я наконец понял, почему это дает мне ошибку.Обе мои 2 попытки должны быть в порядке.
И оказалось, что эта структура не вызывает проблем
У меня есть другая структура, использующая эту структуру и помеченная как public, например
public struct Shipment:Encodable {
let carrier_code:String
let packages:[ShipmentPackage]
}
отсутствовал инициализатор, но по какой-то причине XCode не будет отображать ошибку для моего рабочего пространства, но выдает ошибку во время компиляции.
после предоставления инициализатора всем открытым структурам приложение передает компилятор,
public struct Shipment:Encodable {
let carrier_code:String
let packages:[ShipmentPackage]
public init(carrier_code:String,packages:[ShipmentPackage]){
self.carrier_code = carrier_code
self.packages = packages
}
}
Мой оригинальный пост был не очень хорош, так как в коде, который я разместил, не было ничего плохого, но решите не удалять этот пост, он может помочь таким новичкам, как я, в будущем
Извлеченный урок: все публичные структуры нуждаются в публичной инициализации