I want to get the value of NSArray
, but it always gives me nil
value, Anyone knows how to solve it?
it is created by swift 4.2
KCNetWorkTool.tool.getRecordListWith(UserID: userID, Date: dateLabel.text!) { (result) in
SVProgressHUD.dismiss()
if let dict = result.data as NSDictionary? {
// the value of this below line, i cann't get . array always return nil
if let array = (dict["list"] as? NSMutableArray) {
let countArray = array.count
for index in 0..<countArray {
if let dictNew = array[index] as? NSDictionary {
let row = EnvelopeModel(dictionary: dictNew)
self.recordModel.append(row)
}
}
}
}
self.recordTable.reloadData()
}
}
Most of your code is unnecessary. Mostly, you don't need to be casting to Objective-C types for arrays and dictionaries. So you need something like this:
KCNetWorkTool.tool.getRecordListWith(UserID: userID, Date: dateLabel.text!) { (result) in
SVProgressHUD.dismiss()
if let envelopes = result.data["list"] as? [[String: Any?]] {
self.recordModel.append(envelopes.forEach { EnvelopeModel(dictionary: $0) })
}
self.recordTable.reloadData()
}
Haven't checked that in a compiler, but something like that.