【发布时间】:2017-03-20 06:46:45
【问题描述】:
我环顾四周,但找不到解决这个困扰我的错误的答案。我尝试添加一个“as!NSMutableArray”,但这给了我另一个错误。关于如何解决它的任何想法?我将我的项目从 Objective-C 转换为 Swift,所以希望代码一切正常,我有 20 多个错误,现在我减少到 3 个错误。谢谢。
错误信息:
'jsonObject' produces 'Any', not the expected contextual result type 'NSMutableArray'
从服务器检索数据的代码
// Retrieving Data from Server
func retrieveData() {
let getDataURL = "http://ip/example.org/json.php"
let url: NSURL = NSURL(string: getDataURL)!
do {
let data: NSData = try NSData(contentsOf: url as URL)
jsonArray = JSONSerialization.jsonObject(with: data, options: nil)
}
catch {
print("Error: (data: contentsOf: url)")
}
// Setting up dataArray
var dataArray: NSMutableArray = []
// Looping through jsonArray
for i in 0..<jsonArray.count {
// Create Data Object
let dID: String = (jsonArray[i] as AnyObject).object(forKey: "id") as! String
let dName: String = (jsonArray[i] as AnyObject).object(forKey: "dataName") as! String
let dStatus1: String = (jsonArray[i] as AnyObject).object(forKey: "dataStatus1") as! String
let dStatus2: String = (jsonArray[i] as AnyObject).object(forKey: "dataStatus2") as! String
let dURL: String = (jsonArray[i] as AnyObject).object(forKey: "dataURL") as! String
// Add Data Objects to Data Array
dataArray.add(Data(dataName: dName, andDataStatus1: dStatus1, andDataStatus2: dStatus2, andDataURL: dURL, andDataID: dID))
}
self.myTableView.reloadData()
}
【问题讨论】:
标签: json swift error-handling nsmutablearray jsonserializer