这是json的一部分
"feature_id" = (
3047,
3084,
3095,
3100,
3121,
3124,
3182,
3272,
3273,
3274
);
这是我访问json的方式,我使用的是Alamofire。
var features_id = self.jsonD["results"]!["place_basic_info"]!!["feature_id"]!!
现在问题就在这里
features_id[0] as? String
引发的错误是:
模糊地使用'下标'
奇怪的是,当我尝试为设备构建时,这会出现,但是在运行时却没有,如何解决这个问题?为什么会出现?
答案 0 :(得分:1)
模糊地使用'下标'
问题是编译器不知道features_id
是一个数组,因此无法通过索引对其进行下标。
您必须将对象的类型提供给编译器,例如使用可选的绑定和强制转换:
if let featID = features_id as? [Int] {
// here featID is features_id unwrapped as an array of Ints
}