Arrays 下标用法不明确
这段代码本来可以工作,但现在不行了。我在lat和long变量上得到错误“subscript的用法不明确”。发生什么事?这是因为快速更新吗Arrays 下标用法不明确,arrays,json,swift,alamofire,Arrays,Json,Swift,Alamofire,这段代码本来可以工作,但现在不行了。我在lat和long变量上得到错误“subscript的用法不明确”。发生什么事?这是因为快速更新吗 func showPrecincts() { var urlBoundaries = "http://www.oklahomadata.org/boundary/1.0/boundary/?contains=" + "\(coords!.latitude)" + "," + "\(coords!.longitude)" + "&sets=pr
func showPrecincts() {
var urlBoundaries = "http://www.oklahomadata.org/boundary/1.0/boundary/?contains=" + "\(coords!.latitude)" + "," + "\(coords!.longitude)" + "&sets=precincts"
Alamofire.request(.GET, urlBoundaries, parameters: ["foo": "bar"])
.responseJSON { response in
if let data = response.result.value {
let nestedCoordinates = data.valueForKeyPath("objects.simple_shape.coordinates") as! Array<AnyObject>
let bug1 = nestedCoordinates.first as! Array<AnyObject>
let bug2 = bug1.first as! Array<AnyObject>
let coordinates = bug2.first as! Array<AnyObject>
var convertedCoords: [CLLocationCoordinate2D] = []
for individualCoordinates in coordinates {
let lat = (individualCoordinates[1] as! Double)
let long = (individualCoordinates[0] as! Double)
var newCoords = CLLocationCoordinate2DMake(lat, long)
convertedCoords.append(newCoords)
}
print(convertedCoords)
}
func showPrecincts(){
var urlboursions=”http://www.oklahomadata.org/boundary/1.0/boundary/?contains=“+”\(坐标!纬度)“+”,“+”\(坐标!经度)“+”&sets=选区”
请求(.GET,urlbundries,参数:[“foo”:“bar”])
.responseJSON{中的响应
如果let data=response.result.value{
让nestedCoordinates=data.valueForKeyPath(“objects.simple_shape.coordinates”)作为!数组
设bug1=nestedCoordinates.first为!数组
让bug2=bug1.first作为!数组
设坐标=bug2.first as!数组
var convertedCoords:[CLLocationCoordinate2D]=[]
对于坐标中的单个坐标{
设lat=(单个坐标[1]为!Double)
设long=(单个坐标[0]为!Double)
var newCoords=CLLocationCoordinate2DMake(横向,纵向)
convertedCoords.append(newCoords)
}
打印(转换坐标)
}
坐标
被强制转换为任何对象的数组
编译器不知道它实际上是另一个数组中的
Double
数组
向下投射坐标
到阵列
谢谢!这就解决了。
let coordinates = bug2.first as! Array<[Double]>
let lat = individualCoordinates[1]
let long = individualCoordinates[0]