Добавить значение массива в структуру - PullRequest
0 голосов
/ 14 мая 2018

У меня есть следующая структура:

    struct PalletScan: Codable {
            var deliveryId: String?
            var userId: String?
            var timestamp: String?
            var tempPalletNr: String?
            var tempLocation: String?
            var tempPalletType: String?
            var pallets: [MovementScan]?

            //coding keys requried for translation API -> struct -> CoreData and CoreData -> struct -> API
            enum CodingKeys: String, CodingKey {
                case deliveryId = "TOID"
                case userId = "UserId"
                case timestamp = "TimeStamp"
            }

    mutating func appendMovementScan() {
                var movementScan = MovementScan()
                movementScan.locationId = self.tempLocation
                movementScan.palletId = self.tempPalletNr
                movementScan.palletType = self.tempPalletType
                movementScan.timestamp = String(Date().timeIntervalSince1970)
                print(movementScan)
                self.pallets?.append(movementScan)

            }

}

однако self.pallets?.append(movementScan) не добавляет ничего в массив поддонов. Что мне не хватает? Это должно быть тривиально, но не может найти ошибку.

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

var pallet не инициализируется и является необязательным, поэтому при добавлении движений можно использовать?, он не будет выполнен.

Чтобы это исправить, вам нужно как-то инициализировать массив поддонов, прежде чем добавлять к нему.Один из способов может быть просто инициализировать с пустым массивом:

var pallets = [MovementScan]()
0 голосов
/ 14 мая 2018

Просто измените var pallets: [MovementScan]?
на var pallets: [MovementScan] = [MovementScan]()

как @Carcigenicate, который вы называете добавлением на ноль

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...