首页 > 解决方案 > 对象附加数组无法快速运行

问题描述

我是使用 swift 进行 IOS 应用程序开发的初学者。我正在尝试追加对象数组,但问题是每次尝试追加时我都会在数组上得到值 nil,尽管接收到的值不是零。

我的模特

import Foundation

struct GraphModel {
    var status: String?
    var graphData: GraphData?

    init(dictionary: NSDictionary) {
        self.status = dictionary["status"] as! String
        self.graphData = GraphData.init(dictionary: dictionary["data"] as? NSDictionary ?? [:])
    }
}

struct GraphData {
    var completed_order_count: Int?
    var total_xp: Double?
    var total_cash_owed_to_captain: Double?
    var currency: String?
    var current_balance: Double?
    var execution_time: Double?
    var order_count: OrderCount

    init(dictionary: NSDictionary) {
        self.completed_order_count = dictionary["completed_order_count"] as? Int ?? 0
        self.total_xp = dictionary["total_xp"] as? Double ?? 0.0
        self.total_cash_owed_to_captain = dictionary["total_cash_owed_to_captain"] as? Double ?? 0.0
        self.currency = dictionary["currency"] as? String ?? ""
        self.execution_time = dictionary["execution_time"] as? Double ?? 0.0

        self.order_count = OrderCount.init(dictionary: dictionary["order_count"] as? NSDictionary ?? [:])

    }

}

struct OrderCount {
    var completed_order: Int?
    var earned_amount: Double?
    var dataForGraph: DataForGraph

    init(dictionary: NSDictionary) {
        self.completed_order = dictionary["completed_order"] as? Int ?? 0
        self.earned_amount = dictionary["earned_amount"] as? Double ?? 0.0
        self.dataForGraph = DataForGraph.init(dictionary: dictionary["dataForGraph"] as? NSDictionary ?? [:])
    }
}

struct DataForGraph {

    var graphKeyValueArray: [GraphKeyValue]?


    init(dictionary: NSDictionary) {
        let keys = dictionary.allKeys as? [String]

        keys?.forEach { key in

            let value = dictionary[key] as? Int ?? 0
            let graphKeyValue = GraphKeyValue(key: key, value: value)

            self.graphKeyValueArray?.append(graphKeyValue)


        }
        print(abc)
    }

}

struct GraphKeyValue {

    var key: String
    var value: Int

    init(key: String, value: Int) {
        self.key = key
        self.value = value
    }

}

问题出在 DataForGraph 中。所有其他代码都运行良好。我有研究,但他们都和我一样。在 DataForGraph 中只是 self.graphKeyValueArray?.append(graphKeyValue) 不起作用。每次调用时,数组只显示 nil。

标签: iosarraysswift

解决方案


推荐阅读