0
我環顧四周,但我找不到解決這個一直在困擾我的錯誤的答案。我嘗試添加「as!NSMutableArray」,但那給了我另一個錯誤。任何想法如何解決它?我將我的項目從Objective-C轉換爲Swift,希望代碼很好,我現在有20多個錯誤,現在只有3個錯誤。謝謝。Swift JSONSerialization.jsonObject錯誤
錯誤消息:
'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()
}
好了,所以我嘗試了代碼,我得到了2個錯誤,一個說「無法引用類型‘數據’初始化與類型的參數列表‘(contentsOf:URL)’」,第二個錯誤說「不明確引用成員'jsonObject(with:options :)'「 - 不知道他們的意思 – BroSimple
你使用Swift 2或3嗎? –
我用Swift 3. – BroSimple