【发布时间】:2017-08-09 01:59:06
【问题描述】:
目前仅在真正的 iPhone 上构建时出现错误“不明确地使用 '下标'”。使用模拟器时没有任何问题。这是我的代码:
let url=URL(string:myUrl)
do {
let allContactsData = try Data(contentsOf: url!)
let allContacts = try JSONSerialization.jsonObject(with: allContactsData, options: JSONSerialization.ReadingOptions.allowFragments) as! [String : AnyObject]
if let arrJSON = allContacts["data"] {
for index in 0...arrJSON.count-1 {
let aObject = arrJSON[index] as! [String : AnyObject]
if(ChooseSubject.mineFagKoder.contains(aObject["subject"] as! String)){
ids.append(aObject["id"] as! String)
names.append(aObject["name"] as! String)
subjects.append(aObject["subject"] as! String)
descriptions.append(aObject["description"] as! String)
deadlines.append(aObject["deadline"] as! String)
}
}
}
【问题讨论】:
-
我认为问题可能来自 [String : AnyObject]。我不是 Swift 专家,但通过阅读我得到了一些关于类似场景的信息。看看stackoverflow.com/questions/33642059/… 甚至stackoverflow.com/questions/33592699/…
-
究竟是哪一行?
let aObject = arrJSON[index] as! [String : AnyObject]我猜是因为你没有告诉编译器arrJSON是一个数组,所以你不能做arrJSON[index]。 -
这一行:让aObject = arrJSON[index] as! [字符串:任何对象]。我怎么知道 arrJSON 是一个数组?