ios - 对象附加数组无法快速运行
问题描述
我是使用 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。
解决方案
推荐阅读
- python - PyQt5:QtableView 是否有“changedselection”信号?
- java - 为什么我的 Android 应用程序在单击发送消息按钮后崩溃?
- ios - 低 SpriteKit FPS 会导致碰撞丢失?
- vue.js - 从 api 在 vue 中显示图像
- python - Celery - TypeError:字节类型的对象不是 JSON 可序列化的
- python - 如何将 div 类中的多个项目分成单独的列表?
- javascript - 获取格式错误的图像数据
- google-cloud-platform - 使用“gcloud run deploy”时,如何使用命令行参数指定服务名称?
- react-native - React Native,Redux:必须用react-redux的提供者将app.js文件包装在react native中吗?
- python - 无法从文本文件中读取数据