我的子项目是显示
我的子项目是空白的
我的CellFor行代码是
func createDashedLine(thisPoint: CLLocationCoordinate2D, nextPoint: CLLocationCoordinate2D, color: UIColor) {
let difLat = nextPoint.latitude - thisPoint.latitude
let difLng = nextPoint.longitude - thisPoint.longitude
let scale = camera.zoom * 2
let divLat = difLat / scale
let divLng = difLng / scale
let tmpOrig = thisPoint
var singleLinePath = GMSMutablePath()
for i in 0 ..< scale {
var tmpOri = tmpOrig
if i > 0 {
tmpOri = CLLocationCoordinate2DMake(tmpOrig.latitude + (divLat * 0.25), tmpOrig.longitude + (divLng * 0.25))
}
singleLinePath.addCoordinate(tmpOri)
singleLinePath.addCoordinate(CLLocationCoordinate2DMake(tmpOrig.latitude + (divLat * 1.0), tmpOrig.longitude + (divLng * 1.0)))
tmpOri = CLLocationCoordinate2DMake(tmpOrig.latitude + (divLat * 1.0), tmpOrig.longitude + (divLng * 1.0))
}
let polyline = GMSPolyline(path: singleLinePath)
polyline.geodesic = false
polyline.strokeWidth = 5.0
polyline.strokeColor = color
polyline.map = mapView
//Setup line style and draw
lengths = [(singleLinePath.lengthOfKind(kGMSLengthGeodesic) / 100)]
polys = [polyline]
setupStyle(with: color)
tick()
}
func tick() {
for poly in polys {
poly.spans = GMSStyleSpans(poly.path, styles, lengths, kGMSLengthGeodesic, pos)
}
pos -= step
}
func setupStyle(with color: UIColor) {
let gradColor = GMSStrokeStyle.gradient(from: color, to: color)
styles = [gradColor, GMSStrokeStyle.solidColor(.white)]
step = 50000
}
答案 0 :(得分:0)
尽量避免在行的单元格中使用for循环,在构建数据源时,可以创建这些选项名称并将其存储在带有某个键的数组中,然后每次在cellforrow中重用该键,而不是再次创建n试。
for i in 0..<((aryDictData[0]["options"]! as AnyObject)[indexPath.row]! as AnyObject).count {
let optionName = ((((aryDictData[0]["options"]! as AnyObject)
[indexPath.row]! as AnyObject)[i] as AnyObject)["option_name"] as!
String)
let prices = ((((aryDictData[0]["options"]! as AnyObject)
[indexPath.row]! as AnyObject)[i] as AnyObject)["price"] as! String)
aryOptionName.append("\(optionName) ($\(prices))")
}
strOptionName = aryOptionName.joined(separator: "\n")
cell.lblOptionNames.text = strOptionName