arrays - Ambiguous use of subscript -
this block of code working , it's not. error "ambiguous use of 'subscript'" on lat , long variables. what's going on? because of swift update?
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] = [] 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) }
coordinates casted array of anyobject.
compiler not know it's array of double in array.
downcast coordinates array<[double]>
let coordinates = bug2.first as! array<[double]> then can elements without further type casting
let lat = individualcoordinates[1] let long = individualcoordinates[0]
Comments
Post a Comment